我有一个使用自定义模板的指令,我想将该指令中的数据传递给另一个指令,并寻找最佳方法.所以,我想当指令中的数据发生变化时,指令2会得到通知(观察者?),并对其采取行动.到目前为止,只有控制器内部的控制器方法和控制器方法(来自指令一)中的控制器内部的观察器才有意义.有没有更好的方法呢?
-------------- -------------- | directive 1 |---data-->| directive 2 | | | | | --------------- --------------
解决方法@H_404_15@
您可以在rootScope上使用
$broadcast:
在第一个指令:
$rootScope.$broadcast("NEW_EVENT",data);
在另一个指令:
scope.$on("NEW_EVENT",function(event,data){
//use the data
});
看看这个Understanding Angular’s $scope and $rootScope event system $emit,$broadcast and $on
在第一个指令:
$rootScope.$broadcast("NEW_EVENT",data);
在另一个指令:
scope.$on("NEW_EVENT",function(event,data){ //use the data });
看看这个Understanding Angular’s $scope and $rootScope event system $emit,$broadcast and $on