2015-12-02 71 views
1

這對於把手來說應該是一件簡單的事情,但我似乎無法做到。把手:在點符號中使用@key

我有兩個對象:

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

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

我想是這樣的:

{{#each a}} 
    {{[email protected]}} 
{{/each}} 

<!-- Should output "y z" but it doesn't! --> 

我在做什麼錯在這裏?

回答

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}} 

這將再次給你想要的結果,即通過和bz。