У меня проблема, передавая функцию директивы (знакомый на этот пост: AngularJS - pass function to directive, но я не могу заставить его работать)AngularJS: Передача функции с директивой
Вот мой код:
Директива :
.directive('testdirective', function(){
return{
restrict: 'E',
scope: {
onClick: '&'
},
controller: 'TestController',
controllerAs: 'tc',
bindToController: true,
template: '<div><button ng-click="onClick()">What UP</button></div>',
replace: true
}
})
контроллер:
TestController.$inject = ["$scope"];
function TestController($scope) {
$scope.testFunction = function(){
alert("I´m the alert of the TestContoller");
};
$scope.test = 'test';
}
HTML:
<div>
<testdirective on-click="testFunction()"></testdirective>
</div>
Что я хочу, звучит очень просто, я просто хочу передать функцию директиве и выполнить ее с помощью кнопки ng-click.
Для меня мой код выглядит точно like this fiddle но шахта не работает:/
Было бы удивительным, если кто-то получил какие-то намеки на меня.
EDIT
Моя директива нужна его собственный контроллер!
Позже функция, которая будет передана, будет поступать с другого контроллера !!!
Что такое ошибка, что вы получите? –
ничего - только не выполнен –
Рабочий JSFiddle имеет контроллер ** снаружи ** директивы. В вашем коде есть контроллер ** внутри ** директивы. В вашей директиве используется область ** изоляции **. Функции в области ** вне ** не будут наследоваться областью ** внутри **. – georgeawg