Meteor 0.8.0:构建应用程序时:意外关闭模板标记

Pat*_*eld 6 html javascript templates web meteor

我的模板中有此部分,意外的结束模板标记为{{/ if}}.

{{#if selected}}
  <div class="Answer--selected">
{{else}}
  <div class="Answer">
{{/if}}
    <i class="fa"></i> {{title}}
  </div>
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

Pat*_*eld 7

我在Meteor Devshop回答了我的问题.Meteor 0.8.0中的一个重大变化是名为Blaze的新模板系统,它以一种全新的方式呈现模板.Blaze不是每次模板渲染时重新生成整个HTML片段,而是仅查找需要更新的DOM节点并执行尽可能少的更改.这意味着您不再允许在块帮助程序中包含未关闭的HTML标记.

所以修正后的代码如下:

{{#if selected}}
  <div class="Answer--selected">
    <i class="fa"></i> {{title}}
  </div>
{{else}}
  <div class="Answer">
    <i class="fa"></i> {{title}}
  </div>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

HTH


bin*_*dog 6

我相信如果您只是想根据条件更改类名,这也会起作用.

<div class="{{#if selected}}Answer--selected{{else}}Answer{{/if}}">
    <i class="fa"></i> {{title}}
</div>
Run Code Online (Sandbox Code Playgroud)

只要你没有用你的助手破坏标签开始/结束,你应该没问题.

史蒂夫