我可以通过stateprovider为页面上的每个div设置一个控制器

时间:2014-07-21 15:55:36

标签: angularjs angular-ui

我正在使用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元素吗?我还需要一个“整体”控制器吗?

简单的例子会很棒,提前谢谢

1 个答案:

答案 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