问题描述
我想知道你是否有一个指令代码的例子,它会对角色事件做出反应,比如 $ routeChangeError
而不会注入 $ rootScope
in to it(在链接函数中使用 $ on
)。它打破了我的观点MV *模式和产生气味代码(给出了在指令中操纵根范围的可能性)。在此先感谢。
I wonder if you have an example of a directive code that reacts on angular events like $routeChangeError
without injecting $rootScope
in to it (to use $on
in link function). It breaks in my opinion MV* pattern and "produces" smell-code (gives the possibility to manipulate root scope in a directive). Thanks in advance.
推荐答案
如果你只是在听事件,你不必使用 $ rootScope
;例如,做关于指令范围的 $ scope。$ on($ routeChangeError)
,来自控制器或链接函数。
If you are only listening for events, you don't have to use the $rootScope
; do e.g. $scope.$on("$routeChangeError")
on the scope of the directive, from either controller or link function.
您会看到$ routeChangeError
是从 $ rootScope
广播的,所以所有孩子都会收到它。
You see the "$routeChangeError"
is broadcasted from the $rootScope
, so all children receive it.
这篇关于在没有注入$ rootScope的情况下对指令中的角度事件做出反应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!