0
A
回答
1
如果你想從你的整個應用程序中操作你的SideBar,這可能是更好的方式來保存服務中的SideBar狀態。因此,無論何時注入此服務,您都可以訪問此服務,並且可以通過更改此相關服務值來更改SideBar的狀態(這可能是因爲服務始終只有一個實例,例如Singleton模式)。
因此,我將附上圖像,它將顯示當前情況的基本通信模式。
如果我們將改變國家服務active
變量的狀態,側邊欄指令會受到影響,因爲所有三個控制器連接到相同的服務實例。
這裏Controllers service communication是通過服務在控制器之間進行通信的一個小例子。
希望它能幫助你!
1
我有功能在於切換邊欄
Its'not recomended使用內部控制器的任何UI邏輯控制器。在Angular的世界裏,這些東西可以通過使用淡入淡出的HTML來實現。
<a ng-click="isReplyFormOpen = !isReplyFormOpen">Reply</a>
<div ng-show="isReplyFormOpen" id="replyForm"></div>
要回答你的問題:你可以定義一個包含你的功能的服務。
(function(){
angular.module('YourApp')
.factory('ToggleBar', function(){
function anyFunc(){
//Logic here...
}
return{
toggle: anyFunc
};
});
)();
比將服務注入任何你想要的控制器。
(function(){
angular.module('YourApp')
.controller('ControllerName',['ToggleBar',function(ToggleBar){
//Call the service func...
ToggleBar.toggle();
}]);
)();
相關問題
- 1. 角度,從指令控制器中的控制器觸發一個功能
- 2. 角度和控制器功能參數
- 3. 角度控制器功能放置
- 4. 指令內的角度呼叫控制器功能
- 5. 來自控制器的角度指令訪問模板元素
- 6. 來自控制器的角度呼叫指令
- 7. 角度指令調用父控制器功能
- 8. 從瀏覽器控制檯調用角度控制器功能
- 9. 指向控制器的角度指令
- 10. AngularJS調用來自控制器功能的拖放指令
- 11. 如何調用來自控制器功能角度JS以服務
- 12. 控制器內部的角度ui路由器功能不是一個功能
- 13. 如何從角度上的控制器調用指令的功能
- 14. 窺視角度控制器初始化時執行的示波器功能
- 15. 從角度控制器創建指令
- 16. 角度重用指令和控制器
- 17. 瞭解角度控制器Vs指令
- 18. 角:傳播控制器功能的指令
- 19. 角指令模板陣列中的控制器功能
- 20. 從瀏覽器中調用角度控制器功能
- 21. 在另一個角度使用控制器的功能
- 22. 如何使用功能導致相同的角度控制器
- 23. 命名命名功能的角度控制器
- 24. 角度控制器中的Calliing工廠功能
- 25. 無法調用角度控制器的內部功能
- 26. 何處放置角度控制器的內部功能?
- 27. 來自角度控制器的jQuery中的調用函數
- 28. 角1.3找不到控制器功能
- 29. 角JS:功能未在控制器
- 30. 角JS控制器功能不工作