Angular UI-Router和嵌套状态
Angular UI-Router and nested states
我试图让我的嵌套状态工作,但我不知道我做错了什么。
这是我关于plunkr的简单例子
身体:<div class="site_container" ui-view></div>
我想在这里显示我的site-container,它应该总是显示的:
<header class="main_header">
<h1>My header</h1>
</header>
<main ui-view></main>
在-标签中,我想在一些子状态之间切换,对于一个简单的例子,我只想显示:
<h2>My content</h2>
因此,我想要有:
<div class="site_container" ui-view>
<header class="main_header">
<h1>My header</h1>
</header>
<main ui-view>
<h2>My content</h2>
</main>
</div>
下面是我的配置:
angular.module('myApp').config([
'$stateProvider',
'$urlRouterProvider',
function (
$stateProvider,
$urlRouterProvider
) {
$stateProvider
.state('main', {
abstract: true,
url: '/',
templateUrl: 'app.html'
})
.state('main.child', {
url: '/child',
templateUrl: 'child.html',
})
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/child');
}]);
你能告诉我,我做错了什么吗? 由于您的abstract
状态在URL中有/
,这意味着当您创建子状态时,它可以具有/child
的URL将被视为//child
根据你当前的代码,它应该是$urlRouterProvider.otherwise('//child');
Plunkr
但是从技术上讲,为了使URL用户友好,你应该用blank (''
) URL声明抽象状态
.state('main', {
abstract: true,
url: '', //<--changed to blank URL
templateUrl: 'app.html'
})
然后你可以让你的代码工作,因为你张贴的问题
演示Plunkr
相关文章:
- 带有嵌套状态的Angular ui路由器和后退按钮
- 如何加载嵌套3个状态的UI路由器UI视图模板
- 状态更改期间角度UI路由器中的嵌套视图滞后
- Angularjs:ui路由嵌套状态下的绑定不起作用
- 推送嵌套对象时的反应状态更改
- 嵌套状态的多个视图
- 使用 Object.asassign 正确返回嵌套状态
- Ui 路由器 AngularJs 嵌套状态和嵌套视图正确
- 角度路由器不选择子状态(嵌套状态)
- 在Redux中更新嵌套状态的更干净/更短的方法
- 如何使用嵌套对象编写状态化简器
- 重新加载嵌套状态,而不是具有 url 参数 ui 路由器的父级
- 角度 UI 路由器 - 嵌套路由不适用于具有嵌套状态的模板
- 如何为嵌套对象设置状态
- 嵌套状态 URL 在 angular-ui-router 中不正确
- 如何将全局状态数据处理到Redux中的深度嵌套组件中
- AngularJS中具有嵌套状态的嵌套视图
- 有角度的路由器嵌套状态不继承自定义数据
- React状态嵌套属性
- 如何在Angular ui路由器中使用嵌套状态下的多个视图