把手:在点符号中使用@key

时间:2015-12-02 21:05:56

标签: handlebars.js

这在Handlebars中应该是一件简单的事情,但我似乎无法做到。

我有两个对象:

window.onload = function() {
};

我正在尝试这样的事情:

a: {
  key1: "w",
  key2: "x"
}

b: {
  key1: "y",
  key2: "z"
}

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

我不确定你是否可以使用" @key"在点符号中,因为每次你尝试做同样的事情,Handlebars编译失败。

此外,b不是a中存在的对象。所以,如果你在a上迭代,你就永远无法获得b的密钥。

{{#each b}}
  {{@key}}
{{/each}}

这是代码块,它将迭代" b"对象,并将打印b中存在的所有键,意思是" y"和" z"。

但是,如果您将JSON更改为,

a: {
    'kx':'x',
    'ky':'y',
     b:{
      'by':'y',
      'bz':'z'
    }
}

然后,你可以通过说,

获得b的键
{{#each a.b}}
   {{@key}}
{{/each}}

这将再次给你想要的结果,即by和bz。