2016-03-04 136 views
-1

这里的回购:https://github.com/vipul-verma/LetsLearnAngularUI路由器AngularJs嵌套状态和嵌套的观点正确的方法

这里的实时取景:https://rawgit.com/vipul-verma/LetsLearnAngular/master/index.html

说明: 一个基本的模板。

首页链接将加载partials/home.html

关于链接将加载partials/about.htmlpartials/about-sublevel.html。

问题:

这里分音/约-sublevel.html为约页面的子级,因此可以说其约约页或嵌套视图/状态的一部分页。但是如果你看到索引页面,它有两个视图'viewA','viewB'

'viewA'负载根据链路泛音/ home.html做为泛音/ about.html

'viewB'仅当About链接被点击时才加载partials/about-sublevel.html。

问:

有没有一种方法来分离谐音/约-sublevel.html页从指数页面和负荷内about.html,所以我不必将标签放在索引页中作为<div ui-view="viewB"></div>

正确方法 “viewB”应该负荷内about.html自关于页面的一部分,当我点击有关链接都谐音/ about.html谐音/约-分段。 html默认显示。

什么是正确的方法,在这种情况下的最佳做法。在app.js中将做什么来实现这一点。请仅使用上面的git回购给出答案。请不要使用回购代码中的虚拟答案。谢谢

+1

你可以为一个plunker? –

+0

我想我不明白你的问题。你不能把2个模板放在一起吗?最佳做法是为每个路由1模板。 – Matheno

+0

这里的掠夺者http://plnkr.co/edit/Z7BgBWeSStMuIrYBR3tS?p=preview – Sam

回答

1

我想我完全不明白你的问题,但最好的做法是每个州有1个模板。

下面是我如何与嵌套视图的示例:

var root = "/app/Views/"; 

    $stateProvider 
     .state('/', { 
      url: '/', 
      templateUrl: root + 'Index.html' 
     }) 
     .state('pas', { 
      url: '/pas', 
      templateUrl: root + 'Index.html' 
     }) 

     .state('pas.calculate', { 
      url: '/calculate', 
      templateUrl: root + 'Calculate.html' 
     }) 
     .state('pas.calculate.form', { 
      url: '/form', 
      templateUrl: root + 'Calculate/Form.html' 
     }) 
     .state('pas.calculate.overview', { 
      url: '/overview', 
      templateUrl: root + 'Calculate/Overview.html' 
     }) 

     .state('pas.contact', { 
      url: '/contact', 
      templateUrl: root + 'Contact.html' 
     }) 

    $stateProvider 
     .state("otherwise", { 
      url: "*path", 
      templateUrl: root + "Index.html" 
     }); 
+0

这里的掠夺者http://plnkr.co/edit/Z7BgBWeSStMuIrYBR3tS?p=preview – Sam

+0

没有阅读你说我不明白的帖子并投票我的帖子容易hunff – Sam

+0

嗯,我没有看过它,但我认为我不明白这个问题。我没有downvote顺便说一句。猜猜其他人有同样的想法.. – Matheno