如何在除index.hbs之外的每个模板中呈现侧边栏?

时间:2013-09-03 20:47:39

标签: ember.js handlebars.js

我正在使用Foundation构建一个ember应用程序,并希望在除index.hbs之外的每个模板上呈现一个侧边栏。

我想添加

{{partial 'sidebar'}}

每个模板可能不是最好的方法。但是因为我在一个网格系统上并使用一个有两个列的行,一个用于内容,一个用于侧边栏,我觉得这是将侧边栏放入除索引模板之外的每个模板的唯一方法,同时还放置了侧边栏与主要内容相同的div。

看起来像这样:

enter image description here

这里的模板代码是:

<div class="row content">
  <div class="large-9 columns main-content">
    MAIN CONTENT
  </div>
  <div class="large-3 columns sidebar">
    SIDEBAR
  </div>
</div>

所以我想在除了索引之外的每个模板中使用侧边栏,但我也需要在这个div中使用它,以免弄乱响应性。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在索引路由/控制器中添加布尔属性。

App.IndexRoute = Em.Route.extend({
   skipSidebar: true
});

然后,在您的模板中

{{#unless skipSidebar}}
   {{partial 'sidebar'}}
{{/unless}}