Angularjs 指令处理来自模型的事件
我有一个CurrentUser模型类,当用户没有经过身份验证时,我想抛出一个“not_authenticated”事件 在某些页面上,我想使用一个指令来处理这个事件并显示一个模式Angularjs 指令处理来自模型的事件,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我有一个CurrentUser模型类,当用户没有经过身份验证时,我想抛出一个“not_authenticated”事件 在某些页面上,我想使用一个指令来处理这个事件并显示一个模式 从模型发出的事件是否会冒泡到指令链接作用域?角度事件由作用域触发和接收。因此,您需要一个$scope对象来广播一个事件,您需要一个scope对象来监听一个事件。如果“model”是指角度服务,那么可以像这样注入$rootScope和$broadcast事件 myApp.factory('theModel', funct
从模型发出的事件是否会冒泡到指令链接作用域?角度事件由作用域触发和接收。因此,您需要一个$scope对象来广播一个事件,您需要一个scope对象来监听一个事件。如果“model”是指角度服务,那么可以像这样注入$rootScope和$broadcast事件
myApp.factory('theModel', function($rootScope) {
$rootScope.$broadcast('NOT_AUTHENTICATED');
});
该事件将沿作用域链冒泡,并可通过链接函数中的指令作用域听到
myApp.directive('theDirective', function () {
return {
...
link:function(scope, element, attrs) {
scope.$on('NOT_AUTHENTICATED', function (event) {
...
}
}
};
});
在实现与作用域无关的应用程序信号时,请使用在指令和用户类中注入的服务,而不是作用域事件。服务如何侦听事件?