如何创建Child Controller Angular Js

时间:2016-11-10 09:38:51

标签: javascript angularjs dependency-injection angular-controller

define([], function() {
    function myCtrl($scope,$http) 
    {
        $scope.test = "Course Man";

    }
    myCtrl.$inject=['$scope','$http'];
    return myCtrl;
});

我们为每个控制器都有单独的文件,并在需要时加载延迟..它们在application.js中有相应的条目。

现在的问题是:

我需要2-3个子控制器,所有子控制器都链接到父控制器..并且所有控制器都存在于一个文件中......以便可以加载它们。

试过:

  define([], function() {
        function myCtrl($scope,$http) 
        {
            $scope.test = "Course Man";

        }

       function myCtrl1($scope,$http){};

        myCtrl.$inject=['$scope','$http'];
        return myCtrl;
    });

但是,似乎没有工作。

更新----

家长 -

 define([], function() {
        function myCtrl($scope,$http) 
        {
            $scope.test = "Course Man";

        }
        myCtrl.$inject=['$scope','$http'];
        return myCtrl;
    });

使用其他控制器:

define([], function() {
    function myCtrl($scope,$http) 
    {
        $scope.test = "Course Man";

    }
    return myCtrl;
});

function myCtrl1($scope,$http){

};

这是有效的..不确定他们是否有父母的孩子关系......困惑!

1 个答案:

答案 0 :(得分:-1)

你可以走另一条路。

可以扩展控制器或使单个控制器成为多个控制器的混合。

module.controller('CtrlChild', ['$scope', '$controller', function ($scope, $controller) {
    // Initialize the super class and extend it.
    angular.extend(this, $controller('CtrlParent', {$scope: $scope}));
    … Additional extensions to create a mixin.
}]);