0
有時需要從具有隔離範圍的指令調用父範圍中定義的函數。爲了引用在外部範圍中定義的功能,通常使用&
。但它不允許在函數中發送參數。我可以使它只與=
指令數據綁定一起工作。請考慮我的例子plnkr,讓我知道是否有可能使用&
並將數據放入回調函數中。如何使用父範圍中的參數執行函數?
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
function updateNumber(number){
$scope.randomNumber = number;
}
$scope.randomNumber = 0;
$scope.updateNumber = updateNumber;
});
app.directive('randomGenerator', function(){
return {
scope:{
onUpdate:'='
^^^^^^^^^^^^
// I want to use '&', but cannot call onUpdate(something)
},
restrict: 'E',
replace: true,
template: '<button ng-click="update()">Random</button>',
link: function(scope,elem,attrs){
scope.update = function(){
var random = Math.random();
scope.onUpdate(random);
};
}
};
});
的Html
<body ng-controller="MainCtrl">
<h1>Random numbers generator </h1>
<random-generator on-update="updateNumber"></random-generator>
{{randomNumber}}
</body>
它的工作原理!謝謝! – Warlock 2014-10-05 06:29:37