如何创建可以在AngularJS上使用控制器访问的辅助类

时间:2012-07-06 08:01:55

标签: javascript angularjs

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

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

我想创建一个ItemSaveHelper类,我会将常用方法放在其中并从活动控制器中调用它们。

1 个答案:

答案 0 :(得分:19)

您想要创建service

服务只是一个可以注入不同内容的单例,以提供模块化/共享功能。这是一个简单的例子: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: []
    };
});