Jay*_*ram 131 angularjs ng-view
我正在使用AngularJS构建一个动态Web应用程序.是否可以ng-view在单个模板上使用多个?
pas*_*ine 99
你可以只有一个ng-view.
您可以通过多种方式改变其内容:ng-include,ng-switch或者通过routeProvider映射不同的控制器和模板.
Mor*_*yae 39
UI-Router是一个可以提供帮助的项目:https://github.com/angular-ui/ui-router 其中一个功能是多个命名视图
UI-Router有许多功能,如果您正在使用高级应用程序,我建议您使用它.
在此处查看多个命名视图的文档.
Tek*_*ekz 19
我相信你可以通过单身来实现它ng-view.在主模板中,您可以有ng-include子视图的部分,然后在主控制器中为每个子模板定义模型属性.这样它们就会自动绑定到ng-include各个部分.这与多个相同ng-view
您可以查看文档中给出的示例ng-include
在示例中,当您从下拉列表中更改模板时,它会更改内容.这里假设您有一个main ng-view,而不是通过选择下拉手动选择子内容,而是在加载主视图时执行.
可以有多个或嵌套的视图.但不是通过ng-view.
angular中的主路由模块不支持多个视图.但你可以使用ui-router.这是第三方模块,您可以通过Github,angular-ui/ui-router,https://github.com/angular-ui/ui-router获取.目前正在开发新版本的ngRouter(ngNewRouter).目前不稳定.所以我为你提供了一个简单的ui-router启动示例.使用它可以命名视图并指定应该使用哪些模板和控制器来渲染它们.使用$ stateProvider,您应指定应如何为特定状态呈现视图占位符.
<body ng-app="main">
<script type="text/javascript">
angular.module('main', ['ui.router'])
.config(['$locationProvider', '$stateProvider', function ($locationProvider, $stateProvider) {
$stateProvider
.state('home', {
url: '/',
views: {
'header': {
templateUrl: '/app/header.html'
},
'content': {
templateUrl: '/app/content.html'
}
}
});
}]);
</script>
<a ui-sref="home">home</a>
<div ui-view="header">header</div>
<div ui-view="content">content</div>
<div ui-view="bottom">footer</div>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js">
</body>
Run Code Online (Sandbox Code Playgroud)
您需要为此示例引用angularjs和angular-ui.router.
$ bower install angular-ui-router
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145445 次 |
| 最近记录: |