Как создать вспомогательный класс, доступ к которому можно получить с помощью контроллера на AngularJS

как я могу создать класс helper/utility, который может быть доступен из нескольких контроллеров?

Например, у меня есть два контроллера: UpdateItemCtrl и CreateItemCtrl. Они имеют общие функции, внутри которых увеличивается избыточность и снижается управляемость.

Я хотел бы создать класс ItemSaveHelper, в который я бы поместил общие методы внутри и вызвал их из активного контроллера.

Ответ 1

Вы хотите создать 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: []
    };
});