我正在制作一个指令,我将templateUrl发送到一个html,其中有一个按钮。我想知道的是。我可以从我使用指令的控制器发送一个函数到我的指令,这样我可以在单击按钮时注册,然后输入调用函数。
我的templateUrl html网页
<div class'btn' ng-click='nestedinputFunction()'>Test button</div>
在我的控制器
的html页面上使用我的指令<nested-click input-function='myFunction'></nested-click>
功能
的控制器app.controller('testCtrl', ['$scope' function ($scope) {
$scope.inputFunction = function(){
alert("Function is being called!");
}
}]);
我的指示
app.directive('nestedClick', function () {
return {
restrict: 'E',
scope: {
inputFunction: '=',
},
templateUrl: function (elem, attrs) {
return '/AngularJS/Directives/nestedClick.html'
},
link: function (scope, element, attrs) {
scope.nestedinputFunction = scope.inputFunction
},
}
});
有人知道这是否可能,以及是否可以实现?
答案 0 :(得分:0)
你应该使用'&amp;'结合。
app.directive('nestedClick', function () {
return {
restrict: 'E',
scope: {
nestedinputFunction: '&inputFunction',
},
templateUrl: function (elem, attrs) {
return '/AngularJS/Directives/nestedClick.html'
}
}
});
<nested-click input-function='myFunction()'></nested-click>
以下是'&amp;'的简单解释绑定:https://thinkster.io/egghead/isolate-scope-am