重构AngularJS中控制器中的函数

时间:2015-08-07 08:03:50

标签: javascript angularjs refactoring

我想我应该将一些函数从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 ...
    });
});

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

您可以使用工厂:

.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