有条件地渲染.hbs模板emberjs

时间:2013-12-03 15:22:00

标签: html5 ember.js conditional render yeoman

编辑:

只要较大模板的存在为True,我想有条件地在较大模板中显示模板。

在sidebar.hbs中

<div id="sidebar-wrapper" class="super-super-float-right-col">
  <div id="sidebar-wrapper" class="super-float-right-col">
    <div id="sidebar-wrapper" class="float-right-col">
      {{#if permit.id}}
          {{render 'applicant'}}
          {{render 'location'}}
      {{else}}
       <h2>Nope!</h2>  
      {{/if}}
    </div>
  </div>
</div>

在application.hbs中,我调用侧边栏和插座

{{render sidebar}}
{{outlet}}

从技术上讲,侧栏目前与{{outlet}}的结果无关。

我想连接{{outlet}}的结果,并在sidebar.hbs中呈现模板。

现在我得到“不!”

编辑:我能够使用{{#if this.id}}使permit.hbs页面上的条件成立。现在我想弄清楚如何应用相同的逻辑来渲染

很多爱, 伊恩

1 个答案:

答案 0 :(得分:1)

如果您在许可证模板中,则无需检查您是否在模板中。这类似于说是否为真,因为代码执行的唯一原因是因为它正在执行它。

如果这不是您的意思,请更新您的问题。

如果您希望模板中的某些内容根据路由进行更改,则应用程序控制器具有一个名为currentPath的属性,该属性具有当前应用程序路径,您可以观察它并创建基于当前路径更改的计算属性。

http://emberjs.jsbin.com/iCIkEsib/2/edit

相关问题