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