Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS中相同视图的多个控制器?_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript AngularJS中相同视图的多个控制器?

Javascript AngularJS中相同视图的多个控制器?,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,有没有办法使用下面的stateProvider为angularjs中的同一个templateUrl定义两个控制器 //State Provider for dashBoard Screen .state('dashBoard', { cache : false, url : "/dashBoard", templateUrl : dashBoardHtml, controller : ["FirstController","SecondController"] }

有没有办法使用下面的stateProvider为angularjs中的同一个templateUrl定义两个控制器

//State Provider for dashBoard Screen
.state('dashBoard', {
    cache : false,
    url : "/dashBoard",
    templateUrl : dashBoardHtml,
    controller : ["FirstController","SecondController"]
})
在我的控制器中,数据绑定逻辑非常繁重,行数超过1000条,我优化了,降低了摆线复杂度。 但是现在为了使它更加模块化,我需要在视图中不做任何更改的情况下拆分控制器,就像不使用任何嵌套视图一样


有没有办法将多个控件定义为同一个templateURL/html?

这对您有用,但如果您需要,也可以使用
ng controller
指令

$stateProvider.state('view', {
    url: "/url",
    views: {
        'menuContent': {
            templateUrl: "template",
            controller: ['ctrl1', 'ctrl2']
        }
    }
});
使用diretive的示例

    <div ng-controller="testController2">
            <!-- your view content -->
     </div>

    <div ng-controller="testController1">
            <!-- your view content -->
   </div>

您只能从状态分配一个控制器,在模板内分配另一个控制器,如下所示

.state('dashBoard', {
    cache : false,
    url : "/dashBoard",
    templateUrl : dashBoardHtml,
    controller : FirstController
})
模板

<div data-ng-controller="SecondController">
        <!-- your view content -->
    </div>


我认为您可以将它们放入多个业务逻辑服务或UI逻辑指令中,以使代码更清晰、整洁

您可以在html上分配控制器

<div ng-controller="controller1"></div>

在另一个div的同一个HTML上

 <div ng-controller="controller2"></div>


您希望两个控制器同时使用还是分开使用?您可以在视图中定义一个控制器,在状态中定义另一个。尝试在状态中使用多视图。我认为您需要使用提供商或服务来模块化应用程序。这可能是最好的解决方案。