在AngularJS中重构控制器中的函数

Refactoring functions in controllers in AngularJS

本文关键字:函数 控制器 重构 AngularJS      更新时间:2023-09-26

我想我应该把一些函数从AngularJs的控制器移动到外部的"容器",但是在哪里?要服务吗?

例如:

.controller('ctrl1', function() {
    $scope.submit = function () {
        ... some code here ...
    });
});
.controller('ctrl2', function() {
    $scope.submit = function () {
        ... the same code here as a function submit of ctrl1 ...
    });
});

感谢您的宝贵时间。

您可以使用factory:

.factory('someService', function(){
       return {
        submit: function(){
           var some_data='Text';
           return some_data;
        }  
    }
    });
    .controller('ctrl1', function(someService){
       var text=someService.submit();
    });
    .controller('ctrl2', function(someService){
       var text = someService.submit();
    });

这是工作的Plunker