Javascript AngularJS中相同视图的多个控制器?
有没有办法使用下面的stateProvider为angularjs中的同一个templateUrl定义两个控制器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"] }
//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>
您希望两个控制器同时使用还是分开使用?您可以在视图中定义一个控制器,在状态中定义另一个。尝试在状态中使用多视图。我认为您需要使用提供商或服务来模块化应用程序。这可能是最好的解决方案。