Я хочу, чтобы вызвать функцию, определенную в директиве, как раз обратное this stackoverflow questionAngular.js называют директиву функции в контроллере
Я попробовал это, но не работает.
app.directive('myDirective', function() {
return {
link: function(scope, element, attrs) {
scope.someDirectiveFn = function(arg) {
return "in directive";
};
},
}
});
function MyCtrl($scope) {
alert($scope.someDirectiveFn());
}
Возможно ли это? как я мог его получить? это плохая практика?
EDIT
Я получил так:
.controller('MyCtrl', function($scope) {
alert($scope.func());
})
.directive('myDirective', function() {
return {
controller: function($scope, $element){
$scope.func = function() {
return "text";
};
}
}
});
$ emit неплохо, но это не может помочь мне, когда мне нужно вернуть значение из директивы. Я отредактировал мой вопрос, чтобы лучше объяснить. – Andres
Итак, я обновил свой ответ на основе этого. – halilb
Он работает, спасибо большое. У меня есть другой подход (вопрос проверки), не могли бы вы рассказать мне, что вы думаете об этом? что лучше? лучшая практика? – Andres