簡體   English   中英

knockout JS綁定到對象的屬性

[英]knockout JS bind to properties of object

我需要將一些HTML綁定到一個對象,但我的問題是我在開發時不知道對象的屬性。

我的主視圖模型中有一個selectedItem屬性,我綁定到HTML中的一個部分:

<div data-bind="with: selectedItem">

</div>

現在我想基於屬性名稱和屬性值生成一個表:

<div data-bind="foreach: [WHAT DO I PUT HERE?]">
    <label class="control-label"><span data-bind="text: [OR HERE?]" /></label>
</div>

我真的不知道該怎么做。 任何幫助是極大的贊賞。

另外,稍微擴展一下,我想以不同的方式處理綁定對象的屬性,例如,如果屬性只是一個基本類型,只輸出它,但如果它是另一個對象/數組,則專門處理它。

可以這樣做嗎?

如果其他人想要綁定一個簡單對象的屬性。 你可以這樣做......

<table>
    <tbody data-bind="foreach: arrayOfObjects">
        <tr data-bind="foreach: Object.keys($data)">
            <td data-bind="text: $parent[$data]"></td>
        </tr>
    </tbody>
</table>

注意:舊版瀏覽器不支持object.keys,但您可以使用它來添加向后兼容性http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation

下面是一個使用computed observable在運行時選擇要顯示的數據的工作示例。 動態選擇的模板還用於根據要渲染的數據類型(數組或標量)呈現數據。

暫無
暫無

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

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