我正在使用stateProvider创建一个AngularJs项目,我想知道是否可以在单独的div元素上有一个单独的控制器,或者我可能做错了什么。
我有一个包含以下内容的页面
<html ng-app"myApp">
<div id="top"></div>
<div id="bottom"></div>
</html>
我的app文件包含stateprovider,看起来像这样
.config(['$stateProvider', '$urlRouterProvider', '$httpProvider', function ($stateProvider, $urlRouterProvider,$httpProvider) {
$stateProvider
.state("home", {url: "/", templateUrl: "partials/top.html", controller:"topController"})
$urlRouterProvider.otherwise('/');
}])
无论如何,我可以使用1个控制器作为顶部div元素,另一个控制器作为底部div元素吗?我还需要一个“整体”控制器吗?
简单的例子会很棒,提前谢谢
答案 0 :(得分:1)
您可以使用“观看次数”轻松完成此操作:
.state ('State1', {url: '/state1', views:
{'viewA': {templateUrl: 'partials/viewA', controller: 'ControllerA'} },
{'viewB': {templateUrl: 'partials/viewB', controller: 'ControllerB'} }
}
现在,您可以使用ui-view =“ViewA”&amp ;;将每个视图插入到HTML中。 ui-view =“viewB”,每个都有各自的控制器。
https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views