У меня есть директива, которая используется как элемент управления формой. Эта директива скрыта в модальном диалоговом окне и отображается, когда пользователь нажимает кнопку, чтобы показать форму. Поскольку эта директива соединяется с некоторыми веб-службами, я не хочу, чтобы она инициализировалась, если пользователь не нажимает кнопку и не отображает форму (чтобы избежать ненужных вызовов веб-службы). Итак, я ищу, это хороший способ, чтобы родительский контроллер запускал директиву для выполнения некоторого кода инициализации. Вот пример:
App.controller('parentCtrl', ['$scope', function($scope) {
$scope.onButtonClick = function onButtonClick() {
// tell directive to init somehow
};
}]);
App.directive('myDirective', function() {
return {
restrict: 'E',
scope: {},
controller: function($scope, myService) {
function init() {
myService.getData().then(function(value) { //do init stuff });
}
}
});
Предположим, что шаблон для parentCtrl содержит тег.