可以說我有一個服務函數,它接受一個靜態參數和第二個自定義參數,它根據注入的控制器而變化。我希望我的控制器/視圖調用此服務函數,而不必在控制器中編寫自定義方法來傳遞該自定義參數。我不確定這項技術是否涉及捲曲,調用,綁定或應用。JavaScript/Angular借用一個函數並附加參數
.service('ExampleSvc', function() {
this.call = function(param, controller) {
console.debug(param, controller);
}
})
.controller('FirstCtrl', function($scope, ExampleSvc) {
$scope.call = ExampleSvc.call; // magic happens here
// avoid writing below
$scope.call = function() {
ExampleSvc.call('param', 'FirstCtrl');
}
});
.controller('SecondCtrl', function($scope, ExampleSvc) {
$scope.call = ExampleSvc.call; // magic happens here
// avoid writing below
$scope.call = function() {
ExampleSvc.call('param', 'SecondCtrl');
}
});
什麼是「靜態參數」? – JLRishe
它只是服務功能所需的一個參數。 – tothefux
它從哪裏來?從每個控制器內?或者它始終是一樣的價值?如果它始終是相同的值,爲什麼不在服務中給它一個固定值,而不是依靠每個控制器來正確傳遞它? – JLRishe