假設我有兩個不同的視圖控制器,而都使用他們的範圍內相同功能,例如設置一些作用域變量,像這樣:重用功能在兩個不同的控制器中angularJS
View1Cntr.js
app.controller('View1Cntr', ['$scope', function($scope) {
$scope.coloredContent = []; // default
// View1Cntr custom code here
$scope.clearColoredContent = function() {
$scope.coloredContent = [];
}
}]);
View2Cntr.js
app.controller('View2Cntr', ['$scope', function($scope) {
$scope.coloredContent = []; // default
// View2Cntr custom code here
$scope.clearColoredContent = function() {
$scope.coloredContent = [];
}
}]);
有什麼辦法我只能定義一次函數並將它傳遞給兩個控制器,這樣維護變得更容易了?
我想,這是一個封閉的情況下(請糾正我,如果我錯了),這就是爲什麼我不知道怎麼去解決它。
謝謝!你可以在兩個控制器使用功能
是的,你可以創建'廠',用一些方法,如'clearColoredContent'注入在這兩個控制器此工廠,並傳遞所需要的範圍,這種 – Grundy
@Grundy:我的功能設置一個自由變量,其是一個$ scope變量。我不知道如何通過服務分享這樣的功能。你能否提供一個例子?謝謝! – jazzblue