![](/img/trans.png)
[英]Call function from another Controller in another file AngularJS
[英]Can we call the function inside the controller from another controller of another file in AngularJS?
我試圖在另一個js文件中的另一個控制器中的一個控制器中調用一個函數。
我已經嘗試過$broadcast
和$emit
但是我認為它只能在同一文件內工作。
我有一個名為videoWidgetController
的控制器,該控制器具有名為clickVideoWidgetListItemFromDOM
的功能。
我需要從另一個名為videoController
控制器中調用它。
在此文件中,我在點擊事件上調用函數,例如data-ng-click="clickVideoWidgetListItemFromDOM(video, $index)"
videoController
$scope.clickVideoWidgetListItem = function(video, index) {
$scope.$emit("myEvent"); *** didn't work for me ***
$rootScope.$broadcast("myEvent", {video: video,index: index }); *** didn't work for me ***
};
videoWidgetController
$scope.$on("myEvent", function (event, args) {
alert(1);
console.log(args);
$scope.clickVideoWidgetListItemFromDOM();
});
我正在嘗試按此鏈接中所述進行操作,但無法獲得解決方案。
我搜索了很多,但不幸的是仍然遇到了同樣的問題。
為了進行廣播發射數據傳輸,必須滿足以下條件
該事件將從父控制器廣播,而該事件將從子控制器監聽。 廣播方法ID,用於將數據從父級傳輸到子級。
如果此層次結構不起作用,則可以通過services傳輸數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.