2017-05-31 123 views
1

在我的应用程序中,我想要在加载索引页面时加载嵌套视图list-patents.htm通过状态在页面加载时加载模板 - AngularJS

我的主要导航是在我的index.htm上,有两个导航项目transactionspatents

如果您要点击patents,还需要加载两个子菜单项:list patentsadd patents。在这里,您可以导航到list-patents.htm,我想充当登陆视图。

我已经尝试了两种方法:

  • $urlRouterProvider.otherwise("");我不能去上班。
  • 此方法(在我的脚本中)加载了嵌套视图,但未能加载其父视图的导航菜单。

    .state("index", { url: "", templateUrl: "templates/list-patents.htm", })

我想保持导航在其自己的观点,因为我没有看到创建重复的代码点。

任何想法如何在页面加载,它加载patent-nav.htm和它的嵌套视图list-patents.htm?任何帮助将不胜感激


app.js

var app = angular.module('myApp', ['ngRoute', 'angularMoment', 'ui.router']); 


app.config(['$stateProvider', '$locationProvider', '$urlRouterProvider', function($stateProvider, $locationProvider, $urlRouterProvider) { 

    $stateProvider 
    .state("index", 
    { 
     url: "", 
     templateUrl: "templates/list-patents.htm", 
    }) 
    .state("patents", { 
     url: "/patents", 
     templateUrl: "templates/patent-nav.htm", 
     controller: "patentCtrl" 
    }) 
    .state("patents.list", { 
     url: "/list-patents", 
     templateUrl: "templates/list-patents.htm", 
     controller: "patentCtrl" 
    }) 
    .state("patents.add", { 
     url: "/add-patents", 
     templateUrl: "templates/add-patent.htm", 
     controller: "patentCtrl" 
    }) 

查看

指数

<main class="container"> 
    <nav> 
     <ul> 
      <a ui-sref="patents">Patents</a> 
      <a ui-sref="transactions">Transactions</a> 
     </ul> 
    </nav> 
    <section ui-view> 

    </section> 
</main> 

专利导航

<nav> 
    <ul> 
     <li><a ui-sref="patents.list">List patents</a></li> 
     <li><a ui-sref="patents.add">Add patent</a></li> 
    </ul> 
</nav> 

<div ui-view></div> 

列表专利

<div> 
//just a load of content 
</div> 

回答

1

做这个

$urlRouterProvider 
        .when('', '/parents/list-patents') 
        .when('/', '/parents/list-patents') 
        .otherwise('/parents/list-patents'); 
+0

谢谢您的时间!工作 –