我不确定我是否以正确的方式做我需要的事情......我有 2 个控制器:
SiteMenuCntl和DashboardCntl
SiteMenuCntl 绑定到一个 UL 标记,它是站点的菜单。默认情况下它是隐藏的,在凭据验证和加载 DashboardCntl 之后,菜单应该会变得可见。
我试过这个:
app.controller('SiteMenuCntl', ['$scope', 'site', 'security', '$log', function ($scope, site, security, $log) {
$scope.visibility = "hidden";
$scope.$on('showTree', function () {
console.log("event fired"); //never fired :-(
$scope.visibility = "";
});
}]);
app.controller('DashboardCntl', ['$scope', function ($scope) {
$scope.$emit('showTree');
}]);
但是事件 showTree 永远不会被触发。我在哪里做错了?有没有更好的方法来做到这一点?