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