11

如何创建可以从多个控制器访问的帮助程序/实用程序类?

例如,我有两个控制器:UpdateItemCtrlCreateItemCtrl. 它们内部具有共同的功能,增加了冗余并降低了可管理性。

我想创建一个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 回答