小编典典

通过“每个”手把访问父级的属性

javascript

考虑以下简化数据:

var viewData = {
    itemSize: 20,
    items: [
        'Zimbabwe', 'dog', 'falafel'
    ]
};

还有一个车把模板:

{{#each items}}
    <div style="font-size:{{itemSize}}px">{{this}}</div>
{{/each}}

这是行不通的,因为在each循环中,父作用域是不可访问的-至少不能以我尝试过的任何方式。我希望有办法做到这一点!


阅读 273

收藏
2020-05-01

共1个答案

小编典典

有两种有效的方法可以实现此目的。

取消引用父范围 ../

通过../在属性名称前添加前缀,可以引用父作用域。

{{#each items}}
    <div style="font-size:{{../itemSize}}px">{{this}}</div>
    {{#if this.items.someKey}}
       <div style="font-size:{{../../itemSize}}px">{{this}}</div>  
    {{/if}}
{{/each}}

您可以通过重复来提高多个级别../。例如,要上两个级别,请使用../../key

取消引用根范围 @root

通过添加@root到属性路径,您可以从最高范围向下导航(如caballerog的答案)所示)。

2020-05-01