index.html
<div ng-app="phoneApp">
<div ng-controller="ctrl as AppCtrl">
<div phone dial="ctrl.callHome('called home!')"></div>
</div>
</div>
app.js:
var app = angular.module('phoneApp', []);
app.controller("AppCtrl", function ($scope) {
var ctrl = this;
ctrl.callHome = function (message) {
alert(message);
};
});
app.directive("phone", function () {
return {
scope: {},
bindToController : {
dial: "&"
},
controller : controller,
controllerAs : 'controllerVM',
templateUrl : 'node.html'
};
function controller(){
controllerVM.onClick = function(){
controllerVM.dial();
}
}
});
node.html:
<button ng-click="controllerVM.onClick()">Button</button>
当我点击电话指令的按钮时,它应该调用AppCtrl的函数callHome,但是它没有被调用。
当我从every中删除controllerAs并直接从模板调用指令拨号函数时,它可以正常工作
所以请帮帮我,我错过了什么?
提前感谢:)
转载请注明出处:http://www.jxbyjx.net/article/20230520/1984724.html