0

有一个controller我想拆分为 2 个文件的示例。

Monitor.js

var feederliteModule = angular.module('FeederLiteApp', ['ui.bootstrap']);

feederliteModule.controller('WiFiMonitor', function(
ajax_post,
delay,
switcher,
maps,
$scope,
$http,
$timeout,
$q,
$filter)
 {

 $scope.method_1 = function(){
    /*....*/
 }

 $scope.method_2 = function(){
    /*....*/
 }    


});

feederliteModule.$inject = [
    'ajax_post',
    'delay',
    'switcher',
    'maps',
    '$scope',
    '$http',
    '$timeout',
    '$q',
    '$filter'
];

我的控制器的内容很大,而且我有部分代码无法更改。

如何将部分控制器代码提取到不同的文件中?

就我而言,我想将$scope.method_2方法​​放在其他文件中,但仍然可以调用

$scope.method_2from$scope.method_1和所有全局参数都应该在两个文件中可见。

谢谢,

4

1 回答 1

1

Part1.js:

var buildPart1 = function(ajax_post, ..., $scope, ...) {
    $scope.foo = ...;
    $scope.bar = ...;
};

Part2.js:

var buildPart2 = function(ajax_post, ..., $scope, ...) {
    $scope.qix = ...;
    $scope.baz = ...;
};

监视器.js:

feederliteModule.controller('WiFiMonitor', function(ajax_post, ..., $scope, ...) {
    buildPart1(ajax_post, ..., $scope, ...);
    buildPart2(ajax_post, ..., $scope, ...);
});
于 2013-07-09T19:17:51.723 回答