我想生成一系列调用函数的按钮,我想只返回调用者按钮div。
现在我有:
app.directive("phone", function () {
return {
scope: {
dial: "&"
},
template: '<input type="text" ng-model="value"> <div class="button" ng-click="dial({message:value})">prova! </div> {{ $parent.pippo }}',
};
});
<div ng-app="phoneApp">
<div ng-controller="AppCtrl">
<div phone dial="callHome(message)"> </div><br><br>
和
$scope.callHome = function (message) {
$scope.pippo = "casa";
};
如何隔离对来电按钮的响应?
答案 0 :(得分:0)
为您的指令指定controller
和controllerAs
,这样您就可以使用单独的 contex 为每个按钮创建新指令:
app.directive("phone", function () {
function PhoneDirectiveCtrl ($scope) {
this.$scope = $scope;
}
PhoneDirectiveCtrl.prototype.dial = function () {
this.pippo = this.message + 'casa';
}
var tempalte = '<input type="text" ng-model="value"> <div class="button" ng-click="ctrl.dial()">prova!</div> {{ ctrl.pippo }}';
return {
controller: PhoneDirectiveCtrl,
controllerAs: 'ctrl',
scope: {
message: '@'
},
template: template
}
});
当您必须创建相同$scope
的少数实例时,请勿使用父级的directive
。
P.S。不要仅在$parent
控制器上定义与指令相关的方法。您应该使用您controller
directive