在辅助对象循环 Jsrender 中使用父对象 属性

Use parent object property inside helper object loop Jsrender

我在 ajax 中发送对象 branchData 以响应具有分支详细信息的 jsrender 模板。

branchData: Array(2)
0: {name: "M13", displayName: "Abc", url: null}
1: {name: "M01", displayName: "Xyz", url: null}

var helper = {
branchHoursText: "Teléfono y Horarios"
phoneText: "Teléfono"
hoursText: "Horario"
closedText: "CERRADA"
inventory: {M01: "0", M13: "1", M11: "0", M10: "0", M21: "0"} 
}

$(".branchInfo").html(branchTemplate.render(response, helpers));

我在模板中使用了以下代码。

{{for branchData}}
     {{:displayName}}

    {{props ~inventory}}

    {{/props}}
{{/for}}

如果 branchData.name == inventory.key,我想显示该分店的库存。像

{{props ~inventory}}
        {{if key === name}}
            {{>prop}}
        {{/if}}}
{{/props}} 

请帮忙!!

您需要从 {{props}} 标签内访问父数据 (name)。您可以使用几种替代方法。参见 Accessing parent data

例如:

{{for branchData}}
    {{:displayName}}

    {{props ~inventory ~itemName=name}}
        {{if key === ~itemName}}
            {{>prop}}
        {{/if}}
    {{/props}}
{{/for}}

{{for branchData itemVar="~branchItem"}}
    {{:displayName}}:

    {{props ~inventory}}
        {{if key === ~branchItem.name}}
            {{>prop}}
        {{/if}}
    {{/props}}
{{/for}}

另请参阅此