与subexpresion的把手模板

时间:2017-04-28 14:11:28

标签: javascript handlebars.js handlebarshelper

我在尝试在把手中获得子表达式时遇到了麻烦。 我有这个对象

{
  vehicles:{
    air:"airplane",
    water:"boat",
    land:"cars\nvans",
  }
}

我有这个帮手

Handlebars.registerHelper('split', function(str, ch) {
    if (!str) return '';
    if (typeof ch !== 'string') ch = /\n/;
    return str.split(ch).map(function(splitted) {
    splitted.trim();
});
});

我希望有这样的输出

air/airplane
water/boat
land/cars
land/vans

使用此模板

{{#each vehicles}}
    {{#each (split this)}}
        {{../key}}/{{{this}}}
    {{/each}}
{{/each}}

我调试了split帮助器正确获取值,我认为它必须是我的这个范围

非常感谢

1 个答案:

答案 0 :(得分:0)

很好找到了我的问题,在嵌套key中访问我的对象的#each的方法不是../@key它的结果应该是@../key