【问题标题】:How do I render a sidebar inside of every template except index.hbs?如何在除 index.hbs 之外的每个模板中呈现侧边栏?
【发布时间】:2013-09-07 05:07:16
【问题描述】:

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

我想添加

{{partial 'sidebar'}}

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

看起来像这样:

这里的模板代码是:

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

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

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

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

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

    然后,在您的模板中

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-18
      • 2015-01-29
      • 2019-09-19
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多