2015-11-17 76 views
0

我试过在其他线程寻求这方面的帮助,但无济于事。我知道我正在使用嵌套状态,并尝试绝对/相对路线,但它不会从searchResults转换到attributeDefinition状态。我使用的UI路由器与下列文件状态转变......从父状态转换到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> 

回答

0

我能解决父状态的有$ stateProvider以下配置未命名的UI视图加载嵌套的状态。它使用'views'属性使用定位未命名视图(而不是相对)。可能看起来很简单,但我没有找到容易解释的在线文档,也没有提供此解决方案的在线示例。请参阅文档获取更多信息,这里[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" } } })