从深层访问父对象的把手模板

时间:2014-08-01 11:46:07

标签: javascript jquery json handlebars.js

我当前怀疑我是从深层节点访问父节点,如下面的代码。这是正确的做法吗?

JSON:

myObj = {

    level1_1 : [

        {
            level2 : [

                {level3 : 'String'}
            ]
        }

    ],

    level1_2 : 'String'

}

模板:

{{#each level1_1}}
    {{#each level2}}
        {{level3}}

        {{!-- Here I want to access level1_2 -- }}

        {{../../level1_2}} {{!-- Is is correct approach ??-- }}

        {{!-- If it is even deep level -- }} {{../../../../level1_2}} {{!--like this--}} {{!-- Is is correct approach ??-- }}

    {{/each}}
{{/each}}

1 个答案:

答案 0 :(得分:2)

这是新车把版本即将推出的功能。

我用Handlebars的2.0 alpha 4版本创建了一个小提琴,用于演示:http://jsfiddle.net/jbrosi/zZE3k/

@root将允许您访问context-root。在您的示例中,您可以使用以下方式从任何位置访问level1_2:

{{@root.level1_2}}

还有一个补丁版本的1.3在那里你可以得到@root的支持(我自己用它)但我不记得我在哪里得到它:(。我会更新这个答案,如果我可以找到补丁1.3的链接。