我有两个指令,一个是ng-grid,另一个是分页,当我在一个指令中点击页码时,ng-grid指令应该根据这个改变,我可以有什么想法在那。如何沟通从一个指令到另一个指令
-1
A
回答
0
有很多方法来实现它: 例如:
首先解决
可以指令之间共享数据:
<directive-one attribute="value" other-attribute="value2" shared-variable="yourData">
<directive-two shared-variable="yourData">
并设置$watch
后第一个指令内值
scope.$watch('yourData',function(newVal,oldVal){ //your logic called after change });
解决方法二
您可以使用事件:
app.directive('first',function(){
return{
restrict: 'E',
template: 'Im first directive!',
scope: true,
link:function(scope,elem,attrs){
scope.$on('event',function(event,args){
alert(args);
});
}
}
});
app.directive('second',function($rootScope){
return{
restrict: 'E',
template: 'Im second directive! <button ng-click="click()">click me!</button>',
scope: true,
link:function(scope,elem,attrs){
scope.click = function(){
$rootScope.$broadcast('event','hello!');
};
}
}
});
事件是由$rootScope.$broadcast('event','hello!');
发送。这意味着事件由您的根范围向下发送到子范围。 http://jsfiddle.net/aartek/fJs69/
相关问题
- 1. 如何从另一个指令使用angularjs调用另一个指令的一个指令控制器功能
- 2. 从另一个指令加载一个指令
- 3. 如何将元素高度从一个指令传递给另一个指令?
- 4. 指令可与其他指令沟通
- 5. IONIC:将数据从一个指令传递到另一个指令
- 6. 是否可以用另一个指令代替一个指令
- 7. 如何编写生成另一个指令的AngularJS指令?
- 8. 指令另一个指令里面angularjs而内部指令是从另一个模块
- 9. 从另一个指令角添加fxFlex指令
- 10. 从另一个指令访问指令范围变量
- 11. 从angularjs中的另一个指令内添加指令
- 12. 如何基于另一个指令逻辑创建一个AngularJS指令?
- 13. 如何获得一个角度指令来包含&替换另一个指令?
- 14. UI屏蔽指令添加到另一个指令
- 15. 一个指令
- 16. AngularJs与指令沟通
- 17. 按指定范围在另一个指令中插入指令
- 18. 如何绑定到另一个属性从结构指令中
- 19. LLVM - 如何得到一个指令
- 20. 另一个指令模板中的指令
- 21. 在另一个指令中嵌入AngularJS指令
- 22. 使用按钮调用另一个指令内部的指令?
- 23. AngularJS:在我的指令中应用另一个指令
- 24. 在另一个指令的链接功能中添加指令
- 25. 测试依赖于另一个指令的指令 - Angularjs
- 26. AngularJS:指令导致另一个指令激活,导致错误
- 27. 在指令内编译另一个指令不起作用
- 28. 调用另一个指令的模板指令
- 29. 动态地在另一个指令中包含指令
- 30. 自定义HTML自动换行指令(另一个指令)
你能为你的问题添加一些代码吗? – maurycy
根据您的具体情况,使用'$ scope。$ broadcast','$ scope。$ emit'或'$ rootScope。$ broadcast'。 https://docs.angularjs.org/api/ng/type/$rootScope.Scope – domakas