複数のコントローラーからアクセスできるヘルパー/ユーティリティ クラスを作成するにはどうすればよいですか?
たとえば、 と の 2 つのコントローラーがUpdateItemCtrl
ありCreateItemCtrl
ます。これらには内部に共通の機能があり、冗長性が増し、管理性が低下します。
ItemSaveHelper
共通のメソッドを内部に配置し、アクティブなコントローラーから呼び出すクラスを作成したいと思います。
複数のコントローラーからアクセスできるヘルパー/ユーティリティ クラスを作成するにはどうすればよいですか?
たとえば、 と の 2 つのコントローラーがUpdateItemCtrl
ありCreateItemCtrl
ます。これらには内部に共通の機能があり、冗長性が増し、管理性が低下します。
ItemSaveHelper
共通のメソッドを内部に配置し、アクティブなコントローラーから呼び出すクラスを作成したいと思います。
サービスを作成したい。
サービスは、モジュラー/共有機能を提供するためにさまざまなものに注入できる単なるシングルトンです。簡単な例を次に示します: http://jsfiddle.net/andytjoslin/pHV4k/
function Ctrl1($scope, itemManager) {
$scope.addItem = function(text) {
itemManager.items.push(text);
};
}
function Ctrl2($scope, itemManager) {
$scope.items = itemManager.items;
}
app.factory('itemManager', function() {
return {
items: []
};
});