11

複数のコントローラーからアクセスできるヘルパー/ユーティリティ クラスを作成するにはどうすればよいですか?

たとえば、 と の 2 つのコントローラーがUpdateItemCtrlありCreateItemCtrlます。これらには内部に共通の機能があり、冗長性が増し、管理性が低下します。

ItemSaveHelper共通のメソッドを内部に配置し、アクティブなコントローラーから呼び出すクラスを作成したいと思います。

4

1 に答える 1

19

サービスを作成したい。

サービスは、モジュラー/共有機能を提供するためにさまざまなものに注入できる単なるシングルトンです。簡単な例を次に示します: 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: []
    };
});
于 2012-07-06T12:50:02.593 に答える