10
A
回答
24
您可以使用服務在控制器和指令之間進行通信。
服務可能是這樣的:
app.service("directiveService", function() {
var listeners = [];
return {
subscribe: function(callback) {
listeners.push(callback);
},
publish: function(msg) {
angular.forEach(listeners, function(value, key) {
value(msg);
});
}
};
});
而且該指令可以到服務響應:
app.directive("jQueryDirective", function(directiveService) {
directiveService.subscribe(function(msg) {
// pretend this is jQuery
document.getElementById("example")
.innerHTML = msg;
});
return {
restrict: 'E'
};
});
剛剛替補我做什麼jQuery的操作,你應該有你需要的東西。
+1
什麼是做它的優點這種方式通過使用$廣播/美元? – Strawberry
+3
廣播創建$ scope的依賴關係以及$ scope hiearchy。如果你依賴於你有很多被調用的可能對消息不感興趣的偵聽器,而顯式服務只針對那些需要它的組件。它還使測試變得更加容易,並且可重複使用和自包含。 –
相關問題
- 1. AngularJS調用來自控制器功能的拖放指令
- 2. AngularJS從指令調用控制器
- 3. 從指令AngularJs觸發控制器範圍
- 4. AngularJS控制器 - 指令 - >從指令
- 5. 來自AngularJs指令的調用函數
- 6. Angularjs控制器指令
- 7. 來自其他控制器的指令控制器中的調用方法
- 8. 將AngularJS指令設置爲來自控制器的DOM節點
- 9. 將對象傳遞給來自控制器的angularjs指令
- 10. 來自控制器的指令模板
- 11. 來自控制器的呼叫指令
- 12. Angularjs:調用指令方法作爲控制器的回調
- 13. 使用控制器在指令在AngularJS
- 14. 從AngularJS的父控制器調用指令控制器的方法
- 15. 從AngularJS中的指令調用父控制器的方法
- 16. AngularJs - 指令控制器內使用自定義過濾器
- 17. AngularJS - 從控制器調用特定的指令功能/法
- 18. AngularJS:在指令控制器的回調中使用ViewModel變量
- 19. 如何從控制器中的指令調用函數? AngularJS
- 20. AngularJS + Typescript - 控制器內的指令
- 21. angularjs:指令的訪問控制器
- 22. AngularJS從指令的控制器
- 23. AngularJS中的控制器/指令繼承
- 24. AngularJs:從另一個指令中的指令調用控制器方法
- 25. 調用來自控制器
- 26. AngularJS控制器,而不是$ scope調用$應用在指令中
- 27. 頁面控制器後執行的AngularJS指令的控制器
- 28. AngularJS + Socket.io:觸發模式的套接字事件 - 在指令或控制器中?
- 29. 如何調用AngularJS指令內部控制器功能
- 30. AngularJS調用指令功能有或沒有控制器參數
http://stackoverflow.com/questions/16935095/correct-way-to-integrate-jquery-plugins-in-angular-js – Ismael