Моя первая попытка на угловой.Функция контроллера модуля вызова от дочерней директивы
Я пытаюсь создать директиву, которая при щелчке вызовет функцию, объявленную в функции контроллера модели.
Вот мой упрощенный код: http://jsfiddle.net/vnj62xn8/
JS:
angular.module('tasks', [])
.controller('taskCtrl', function($scope){
$scope.complete = function(){
console.log('parent function');
}
})
.directive('taskList', function(){
return {
restrict: 'E',
scope: {
complete: '&'
},
template: '<button ng-click="complete()">Complete Task</button>',
controller: function($scope){
/*$scope.complete = function(){
console.log('child function');
}*/
}
}
});
HTML:
<div ng-app="tasks">
<task-list></task-list>
</div>
Я посмотрел на друг Q/Как на SO и обнаружил, что это, кажется, быть наиболее обобщенным решением, хотя он никогда не вызовет функцию complete(), найденную в контроллере taskCtrl. Однако он будет вызывать функцию complete() из контроллера директивы, если он не подписан. Что мне не хватает?
Вам необходимо настроить fu nciton binding (для 'complete: '&''). ' ' –
PSL