gpt4 book ai didi

angularjs - Angular-Ui-Router,嵌套命名 View - 我做错了什么?

转载 作者:行者123 更新时间:2023-12-02 22:48:33 28 4
gpt4 key购买 nike

我正在尝试使用 ui-router 使用嵌套命名 View 来实现一个非常简单的示例,但我无法让它工作。如果有人可以看看这个 jsFiddle - http://jsfiddle.net/thardy/eD3MU/ - 并告诉我我做错了什么,我将不胜感激。

基本思想是这样的:- 我的index.html有一个用户界面 View - 插入的模板有两个名为 ui-views- 我正在尝试设置配置以使用模板填充这两个 ui View ,但我无法让它工作

这是 fiddle 的核心(模板中的尖括号替换为 []):


$stateProvider
.state('test', {
url: '/test',
views: {
'main': {
template: '[h1]Hello!!![/h1]' +
'[div ui-view="view1"][/div]' +
'[div ui-view="view2"][/div]'
}
}
})
.state('test.subs', {
url: '',
views: {
'view1': {
template: "Im View1"
},
'view2': {
template: "Im View2"
}
}
});

我已经对它进行了很多调整几个小时(尝试绝对名称等),我快要疯了。根据文档(至少对我来说),它看起来不错,但没有任何简单的示例,我一定错过了一些明显的东西。

更新通过从测试状态中删除 url 并将 url: '' 添加到 test.subs 状态,它可以工作。但是添加任何 url 到测试状态都会导致它再次失败。在我的现实场景中,这些状态都不是根,并且父状态中根本没有 url 会导致事情无法正常工作。就好像那个状态没有激活什么的。根据文档,子目录中包含 url: '' 应该会导致它与其父状态一起被激活,但事实并非如此。

更新 - 解决方案对于任何想看的人 - http://jsfiddle.net/thardy/eD3MU/

最佳答案

上面代码中的两个问题:

  1. 正如 kju 所建议的abstract: true,

    An abstract state will never be directly activated, but can provide inherited properties to its common children states.

  2. test.sub状态下添加url: ""

    Using an empty url means that this child state will become active when its parent's url is navigated to.

  3. 不要手动转换到“测试”

参见下面的代码:

angular.module('myApp', ['ui.state'])
.config(['$stateProvider', '$routeProvider',
function ($stateProvider, $routeProvider) {
$stateProvider
.state('test', {
abstract: true,
url: '',
views: {
'main': {
template: '<h1>Hello!!!</h1>' +
'<div ui-view="view1"></div>' +
'<div ui-view="view2"></div>'
}
}
})
.state('test.subs', {
url: '',
views: {
'view1': {
template: "Im View1"
},
'view2': {
template: "Im View2"
}
}
});
}])
.run(['$rootScope', '$state', '$stateParams', function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
// $state.transitionTo('test');
}]);

关于angularjs - Angular-Ui-Router,嵌套命名 View - 我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19046443/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com