如何创建可从多个控制器访问的帮助程序/实用程序类?
例如,我有两个控制器:UpdateItemCtrl
和CreateItemCtrl
。它们具有共同的功能,增加了冗余并降低了可管理性。
我想创建一个ItemSaveHelper
类,我会将常用方法放在其中并从活动控制器中调用它们。
答案 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: []
};
});