6
將參數傳遞給父控制器方法如何從指令將參數傳遞給控制器的end()
方法?從指令
指令
var fileuploader = function() {
return {
restrict: 'E',
scope: {
onEnd: '&',
},
controller: function ($scope) {
// When upload is done
$scope.onEnd(/* file */);
}
};
}
控制器
module.controller('Ctrl', function ($scope) {
$scope.end = function (file) {
console.log('file', file);
};
});
模板:
<div ng-controller='Ctrl'>
<fileuploader on-end='end()'></fileuploader>
</div>
我也想知道,如果這是一個因爲我沒有看到在其他地方使用過這種方法。也許下面更棱角?
指令
var fileuploader = function() {
return {
restrict: 'E',
scope: {
onEnd: '=',
},
controller: function ($scope) {
// When upload is done
$scope.file = file;
}
};
}
控制器
module.controller('Ctrl', function ($scope) {
$scope.$watch('file', function (val) {
console.log('file', val);
});
});
模板
<div ng-controller='Ctrl'>
<fileuploader on-end='file'></fileuploader>
</div>
這增加了一些indirec但儘管如此,調用控制器方法可能不那麼重要。
[從AngularJS中的指令調用父控制器的方法]的可能的副本(http://stackoverflow.com/questions/15991137/calling-method-of-parent-controller-from-a-directive-in-angularjs ) – Stewie
小提琴總是加速解決問題的過程,但是你的問題是將參數傳遞給你的'end'函數,還是根本不適合你? – Nix
@Nix,這確實是我的問題。可能的重複給了我答案。 – Pickels