簡體   English   中英

問題迭代模板中的Ember.js對象

[英]Issue Iterating Over Ember.js Object in Template

我在模板中的Ember.js中迭代一個對象和數組時遇到了問題。 我確定這是我實現Handlebars迭代器的一種方式,但我似乎無法弄明白。

Records = {

    data: [
            [
                recordID: "1234",
                recordName: "Record Name"
            ],
            [
                recordID: "1235",
                recordName: "Record Name 5"
            ],
            [
                recordID: "1236",
                recordName: "Record Name 6"
            ]
          ],
    otherInformation: "Other Info",
    moreInformation: "More Information"
}

然后我有模板輸出,看起來像這樣......

{{#each Records.data}}
    {{this}}
{{/each}}

這只給了我數據數組中的第一條記錄,但我希望能夠訪問每個數組和子數組中的每個鍵,以便輸出特定的值。

您的Record.data數組似乎不正確,您有兩個嵌套數組,具有不正確的對象聲明。 我使用這個工作:

使用Javascript

Records={
    data: [
        {
            recordID: "1234",
            recordName: "Record Name"
        },
        {
            recordID: "1235",
            recordName: "Record Name 5"
        },
        {
            recordID: "1236",
            recordName: "Record Name 6"
        }
    ],
    otherInformation: "Other Info",
    moreInformation: "More Information"
}

模板

  {{#each Records.data}}
    {{recordID}}
  {{/each}}

請看看http://jsfiddle.net/marciojunior/m7khc/

正如Marcio Rodrigues所說,你的數組文字是無效的。

//編輯以澄清:javascript數組可以包含對象。 對象是基元,數組,文字符號或函數中的對象。 您試圖將鍵值對插入到數組中,這兩者都不是。

在嵌套數組中,你有一個鍵值對,它不能獨立存在,它必須包含在一個對象文字中。 如果你肯定想保留嵌套數組結構並將屬性作為數組中的元素,那么一種方法就是這樣做

Records = {
    data: [
        [
            { aKey: "recordID", aValue: "1234" },
            { aKey: "recordName", aValue: "Record Name XY" },
        ],
        [
            { aKey: "recordID", aValue: "12356" },
            { aKey: "recordName", aValue: "Record Name AB" },
        ]
    ],
    otherInformation: "Other Info",
    moreInformation: "More Information"
}

然后,在您的模板中,您可以迭代:

<script type="text/x-handlebars" data-template-name="index">  
  {{#each record in Records.data}}
    {{#each attributePair in record}}
      {{attributePair.aKey}}:{{attributePair.aValue}}
      <br />
    {{/each}}
  {{/each}}
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM