2013-08-16 36 views
0

我认为这应该是一个非常简单的解决方案,我只是无法弄清楚。 我有这个模型在我ApplicationRoute:如何在部分路径中使用应用程序模型?

App.ApplicationRoute = Ember.Route.extend({ 
    model: function() { 
    return { 
     sideNav: data.side, 
     breadcrumbs: Util.breadcrumbs() 
    } 
    } 
}); 

应用程序模板:

<script type="text/x-handlebars" data-template-name="application"> 

    {{outlet}} 

</script> 

概述模板:

<script type="text/x-handlebars" data-template-name="overview"> 

    {{partial side}} 

</script> 

_side部分:

<script type="text/x-handlebars" id="_side"> 

    {{#each model.side}} 

     <i {{bindAttr class="iconClass"}}></i><p>{{label}}</p> 

    {{/each}} 

</script> 

当I L我的概述路线,那里的东西加载,但应用程序模型不适用于部分像我希望它是...可能有更好的方法来做到这一点。谢谢!

回答

1

看起来你有两个问题:

  1. 您绑定到side而不是sideNav内的部分。
  2. 你试图访问的ApplicationRouteoverview模板内的模型(这大概都有自己的路线和控制器)

局部模板不改背景下,这样他们就不会增加任何的复杂性他们自己的。举例来说,如果我们限制了application模板,下面的工作:

App.ApplicationRoute = Ember.Route.extend({ 
    model: function() { 
     return { 
      foo: 'bar' 
     }; 
    } 
}); 

<script type="text/x-handlebars" data-template-name="application"> 
    {{partial partial}} 
    {{outlet}} 
</script> 

<script type="text/x-handlebars" data-template-name="_partial"> 
    {{foo}} 
</script> 

但是,如果你想在一个嵌套的路线内的application模型,你需要提出要求。例如,(默认)index路线里面,你可以添加以下内容:

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
     return this.modelFor('application'); 
    } 
}); 

<script type="text/x-handlebars" data-template-name="index"> 
    {{partial partial}} 
</script> 

You can see both examples in this jsfiddle

相关问题