0
<div ng-controller="AppCtrl">
<div phone dial="callHome()"></div>
</div>
angular.module('myApp')
.controller('AppCtrl',function($scope){
$scope.callHome = function(){
alert('called.')
}
})
.directive('phone',function(){
return {
scope: {
dial: '&'
},
template: '<input type="button" ng-click="dial()" />'
}
})
但是,這是行不通的:
<div phone dial="callHome()"></div>
angular.module('myApp')
.directive('phone',function(){
return {
scope: {
dial: '&'
},
template: '<input type="button" ng-click="dial()" />',
controller: function($scope){
$scope.callHome = function(){
alert('called.')
}
}
}
})
爲什麼?
我想在指令中使用方法而沒有父控制器,所以它會在它自己的隔離範圍內。
對不起,沒有爲我工作。導致錯誤。 「要求新的/隔離的範圍」 – 2015-03-25 10:39:18
看看這是一個空的對象,你有一個孤立的範圍。所以你可以在你的頁面上有多個指令,每個指令都有它的作用域,控制器方法就像java中一個類的靜態方法。 – Raulucco 2015-03-25 10:50:46
爲了測試目前我只有一個,但仍然沒有運氣... – 2015-03-25 10:53:36