У меня есть сборка служебного контроллера для управления вложениями документов для повторного использования в моем приложении.
<div ng-controller="someController">
<div ng-controller="documentController as temp1"></div>
<div ng-controller="documentController as temp2"></div>
</div>
Под родительским контроллером, т. Е. someController
У меня есть метод широковещательной передачи.
var module = angular.module("MyModule");
module.controller("someController",
function ($scope) {
$scope.$broadcast("callSomeFunctionInDocumentsController");
});
module.controller("documentController",
function($scope) {
$scope.$on("callSomeFunctionInDocumentsController", function() {
//do something here
});
});
Теперь проблема, с которой я сталкиваюсь, заключается в том, что, поскольку documentController
добавляется дважды в представление, метод $ on также выполняется дважды. Принимая во внимание некоторые условия, я бы хотел вызывать метод $ on либо в temp1
, либо в temp2
экземпляре, но не в обоих.
Я не уверен, что то, чего я хочу достичь sh, возможно, но любая помощь будет высоко ценится.
Спасибо.