从父状态转换到UI路由器子状态的问题

时间:2015-11-17 14:45:30

标签: angular-ui-router angular-ui

在这方面我试过寻求其他线程的帮助,但无济于事。我理解我正在使用嵌套状态并尝试绝对/相对路由,但它不会从searchResults转换到attributeDefinition状态。我正在使用UI路由器进行状态转换,并使用以下文件...

<!-- index.html page -->
<div ai-body>
    <!-- AngularUI View Pane -->
    <div class="ai-content content" id="ai-content" ui-view></div>
</div>

//index.router.js: Routes
.state('searchResults', {         //Parent state
        url: "/searchResults/{app}?keyword",
        templateUrl: "app/searchResults/searchResults.html",
        ncyBreadcrumb: { label: 'Search Results' }
       })
       //Attribute Definition
        .state('searchResults.attributeDefinition', {    //child state
             url: "/attributeDefinition/{action}",
             templateUrl: "app/attributeDefinition/attributeDefinition.html",
             ncyBreadcrumb: { label: 'Create Attribute Definition' }
            })

<!-- searchResults state -->
<a type="button" class="btn btn-primary" ui-sref=".attributeDefinition({action: 'create'})">
                    Create new definition
                </a>

1 个答案:

答案 0 :(得分:0)

我能够使用$ stateProvider的以下配置解析在父状态的未命名ui视图中加载嵌套状态。它使用&#39;视图&#39;使用定位未命名的视图(而不是相对视图)。属性。可能看起来很直接,但我没有找到易于解释的在线文档,也没有提供此解决方案的任何在线示例。有关详细信息,请参阅文档,此处为[http://bit.ly/VLKhGg] -

$stateProvider //Parent state .state('searchResults', { url: "searchResults/{app}?keyword", views: {"@" : { url: "/searchResults/{app}?keyword", templateUrl: "app/searchResults/searchResults.html" } } }) //Child state .state('searchResults.attributeDefinition', { url: "/attributeDefinition/{action}", parent: 'searchResults', views: {"@" : { url: '/attributeDefinition/{action}', templateUrl: "app/attributeDefinition/attributeDefinition.html" } } })