0
的index.html的指令工作爲什麼孤立的範圍 「和」 不與controllerAs在angularJs
<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,但它沒有被調用。
,當我從每一個地方刪除controllerAs並直接調用模板的指令撥號功能,其工作正常
所以請幫助我我失去了什麼?
在此先感謝:)
感謝您的快速回復。你可以請回答一個查詢 上述代碼工作正常,但是當我在回調函數內調用撥號函數。它不工作。在我的電話指令中,我正在發出http請求,並且當它成功時,我正在調用http請求的回調內的撥號函數來通知AppCtrl控制器。 – rkrock
我發現了錯誤。我傳遞的數據如controllerVM.dial(id),但它應該作爲controllerVM.dial({id:id})傳遞; – rkrock