如何将控制器模块化为单独的文件?

6mzjoqzu  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(194)

我已经创建了一个控制器,它占用大约10000条线。然后,我想将原始控制器分为4个控制器,每个控制器包含在每个文件中。原始控制器有一个父控制器或抽象控制器,在三个子控制器中,我在子控制器中使用父控制器,如 $scope.$parent.value .
我这里的问题是
我如何让它像以前一样工作?
使用 require 在子控制器中,并使用父控制器
我没有尝试过,但我可以像这样推送到父控制器 angular.module("app.parent").requires.push("app.child1"); 将大型控制器模块化为小型控制器的正确技术或原则是什么?

"use strict";

angular.module("app.parent",
        [
            "ui.router",
            "ngMap",
            "ngAnimate",
            "ui.bootstrap",
        ])
    .config([
        "$stateProvider",
        function ($stateProvider) {

            //parent abstract state
            $stateProvider.state("management", {
                url: "/parent",
                template: "<div ui-view></div>",
                abstract: true
            });

            //parent state  
            $stateProvider.state("parent.management", {
                templateUrl: "/parent/parent",
                controller: "parentController",

            });

            //these three are the children controller
            $stateProvider.state("parent.management.child1", {
                url: "/child1",
                templateUrl: "/parent/child1",
                controller: "child1Controller",
            });

            $stateProvider.state("parent.management.child2", {
                url: "/child2",
                templateUrl: "/parent/child2",
                controller: "child2Controller"
            });

            $stateProvider.state("parent.management.child3", {
                url: "/child3",
                templateUrl: "/parent/child3",
                controller: "child3Controller"
            });

        }
    ])
    .controller("parentController", [$scope, function ($scope) {

    }])
    .controller("child1Controller", [$scope, function ($scope) {

    }])
    .controller("child2Controller", [$scope, function ($scope) {

    }])
    .controller("child3Controller", [$scope, function ($scope) {

    }])
    .factory("parentService",
        [
            "$http",
            function ($http) {

                var headers = {
                    'Content-Type': 'application/json'
                };

                return {
                    test: function (model) {
                        return $http({
                            method: 'GET',
                            url: 'api/test',
                            data: model,
                            headers: {
                                'Content-Type': 'application/json'
                            }
                        });
                    },

                };
            }
        ]);

angular.module("app").requires.push("app.parent");

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题