查找运算符将部分包含在Handlebars上

时间:2016-09-06 17:20:33

标签: templates dynamic handlebars.js lookup partials

我已经广泛寻找答案,所以我希望我没有错过这一点。

我正在使用把手迭代一个对象数组,并根据每个对象的属性选择一个局部视图。

我已经看过动态部分文档以及查找运算符的文档和在线的一些解释但我似乎无法理解...是如何使用或与之相关的当前的背景。

我希望以下代码

{{#each data as |item|}}
    {{> (lookup item 'type') }}
{{/each}}

在数组中的每个对象上查找一个type属性,并包含一个具有该名称的partial,但查找的结果为undefined

我见过的例子显示了这个

{{> (lookup . 'property') }}

所以我的问题:

  1. 在查找中引用item的正确方法是什么?
  2. ...指的是什么?
  3. 感谢。

    编辑:从实际代码添加数据对象和模板(数据对象已减少,实际实体名称更改为'item',但实际代码更改)

    来自数据

    {
        "_links": {
            "self": { "href": "/item/342" }
        },
        "itemId": "342",
        "datetime": "2012-10-06T04:13:00+00:00",
        "itemType": "ITEM_TYPE",
        "content": {
        }
    },
    

    来自模板

    {{#each data as |item|}}
        {{> (lookup item 'itemType') }}
    {{/each}}
    

    错误

    {
        description: undefined,
        fileName: undefined,
        lineNumber: undefined,
        message: "The partial undefined could not be found",
        name: "Error"…
    }
    

1 个答案:

答案 0 :(得分:2)

找到解决方案。如@ 76484所述:

.this的别名,并指向当前作用域的对象。 ../将一个级别指向父作用域的对象。

示例中的查找可以通过

完成
{{#each data as |item|}}
    {{> (lookup item 'itemType') }}
{{/each}}

{{#each data}}
    {{> (lookup . 'itemType') }}
{{/each}}
相关问题