Ember.js 余烬3条件语句

Ember.js 余烬3条件语句,ember.js,handlebars.js,Ember.js,Handlebars.js,为什么当这段代码呈现时 {{#if ordered}} <ol> {{#each things as |thing|}} <li {{action "showThing" thing}}>{{thing}}</li> {{/each}} </ol> {{else}} <ul> {{#each things as |thing|}} <li {{action "showThing" thing}}>

为什么当这段代码呈现时

{{#if ordered}}
<ol>
  {{#each things as |thing|}}
    <li {{action "showThing" thing}}>{{thing}}</li>
  {{/each}}
</ol>
{{else}}
<ul>
  {{#each things as |thing|}}
    <li {{action "showThing" thing}}>{{thing}}</li>
  {{/each}}
</ul>
{{/if}}
{{{#如果有序}
{{{每个事物都是{事物}
{{{thing}
{{/每个}}
{{else}
    {{{每个事物都是{事物} {{{thing} {{/每个}}
{{/if}
这不是吗

{{{if ordered "<ol>" "<ul>"}}}
  {{#each things as |thing|}}
    <li {{action "showThing" thing}}>{{thing}}</li>
  {{/each}}
{{{if ordered "</ol>" "</ul>"}}}
{{if ordered”“
    “}} {{{每个事物都是{事物} {{{thing} {{/每个}} {{{如果排序为“”
“}}}
最后一个代码段在列表前发出
,列表后没有结束标记:

<div id="ember260" class="ember-view"><h2>Ordered List Of Things</h2>
<ol></ol>
    <li data-ember-action="" data-ember-action-261="261">yarn</li>
    <li data-ember-action="" data-ember-action-262="262">feathers</li>
    <li data-ember-action="" data-ember-action-263="263">dinner plate</li>
    <li data-ember-action="" data-ember-action-264="264">sheep</li>
</div>
事物的有序列表
  • 纱线
  • 餐盘
  • 绵羊
  • 为什么这段代码甚至不编译

    {{#if ordered}}
    <ol>
    {{else}}
    <ul>
    {{/if}}
      {{#each things as |thing|}}
        <li {{action "showThing" thing}}>{{thing}}</li>
      {{/each}}
    {{#if ordered}}
    </ol>
    {{else}}
    </ul>
    {{/if}}
    
    {{{#如果有序}
    {{else}
    
      {{/if} {{{每个事物都是{事物} {{{thing} {{/每个}} {{#如果有序} {{else}
    {{/if}
    错误:

    未闭合元件
    ol
    (第2行)


    我正在写PatsyIssa在评论中提到的代码

    创建名为
    有序列表的组件

    {{ordered-list tagName=(if (eq ordered 'ol' 'ul')) things=things showThings=(action 'showThings')}}
    
    在ordered-list.hbs中

    {{#each things as |thing|}}
        <li {{action showThing thing}}>{{thing}}</li>
    {{/each}}
    
    {{{#每个事物都是{事物}
    {{{thing}
    {{/每个}}
    

    对于
    eq
    帮助程序,您需要安装插件或创建自己的帮助程序,以简单地比较值。

    我正在编写PatsyIssa在其评论中提到的代码

    创建名为
    有序列表的组件

    {{ordered-list tagName=(if (eq ordered 'ol' 'ul')) things=things showThings=(action 'showThings')}}
    
    在ordered-list.hbs中

    {{#each things as |thing|}}
        <li {{action showThing thing}}>{{thing}}</li>
    {{/each}}
    
    {{{#每个事物都是{事物}
    {{{thing}
    {{/每个}}
    

    对于
    eq
    帮助程序,您需要安装插件或创建自己的帮助程序,以简单地比较值。

    {{{{code>如果就我所知,这不是一件事,
    {{{
    在Handlebar中用于呈现变量的内容,而不转义内容。至于第二个问题,您不能将html标记包装在条件中,您可以做的是创建一个组件,该组件根据
    顺序
    处理标记名的逻辑,并在组件的块形式中具有循环。
    >{{{如果
    就我所知不是一件事,
    {{Handlebar中的{
    用于呈现变量的内容,而不转义内容。至于第二个问题,您不能将html标记包装在条件中,您可以做的是创建一个组件,该组件根据
    顺序
    处理标记名的逻辑,并在组件的块形式中具有循环。