javascript - Angular UI 路由器 : state transition parent-child

标签 javascript angularjs parent-child angular-ui-router

.state('add', {
    parent: 'home',
    url:    'add/',
    views:  {
        'pop':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

从父状态“home”到“home.add”的转换不会将模板“/views/nav.html”加载到目标 View (“pop”)中。

其他一切都很好。这个问题似乎只存在于子状态中。

我已经尝试过这样的:

.state('home.add', {
    url:    'add/',
    views:  {
        'pop':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

效果不太好。 (在本例中,我将 ui-sref="add"更改为 ui-sref="home.add")。

这两个示例都将 URL 更改为状态 URL,但似乎没有在状态之间转换,也没有从新状态呈现任何 View (如果它有父状态)。

谢谢。

@citizenslave 解决了我的问题,谢谢!

.state('add', {
    parent: 'home',
    url:    'add/',
    views:  {
        'pop@':  {
            templateUrl:    '/views/nav.html'
        }
    },
});

最佳答案

您的主状态模板需要有一个 ui-view='pop' 来插入子状态模板。如果没有,并且您正在使用主状态的 'pop' View ,则必须在适当的状态中解决它。您可以使用 'pop@home' 绝对引用它。 UI-Router Wiki

关于javascript - Angular UI 路由器 : state transition parent-child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21709442/

相关文章:

java - 如何将节点添加到不是主要父对象 (javafx) 的对象?

c - 如何限制子线程或子进程以限制在 C 中 fork

php - SQL查询: how to make the tags without children to become parents?

javascript - react 变量定义时未定义

javascript - 使用 javascript 对项目列表进行排序

javascript - ajax 成功中的 Ajax 调用不起作用

c# - 当属性不为空时使用 FluentValidation 检查电子邮件有效性

angularjs - 如何定义不包括静态资源的默认路由

javascript - 获取每个字段集的动态类

javascript - 无法使用 ng-model 'salutation' 设置未定义的属性 ="vm.client.salutation"