簡體   English   中英

我在這里用ockoutout.js做錯了什么?

[英]What am I doing wrong here with knockout.js?

我正在嘗試動態創建可觀察到的東西,但效果不佳。 這是我所擁有的:

//此類型有效

   this.Name = ko.observable(data.Name);
   this.Age = ko.observable(data.Age);

//這就是我要工作的

   for (var propertyName in data) {
         this.propertyName = ko.observable(propertyName);
     }

這僅產生屬性名稱,即“名稱”和“年齡”,但是當我像“名稱”這樣調試時,第一個產生值和名稱。

關於什么:

for (var propertyName in data) {
    this[propertyName] = ko.observable(data[propertyName]);
}

this.propertyName實際上將設置一個名為“ propertyName”的屬性。 通過使用方括號,您可以使用變量來定義屬性。

ko.observable(propertyName); 是以屬性名稱為其值定義一個可觀察對象。

您可能還想檢查該值是否為數組,以便可以在需要的地方創建一個可觀察的數組:

for (var propertyName in data) {
    var value = data[propertyName];
    if ($.isArray(value)) { // assuming your using jQuery
        this[propertyName] = ko.observableArray(value);
    } else {
        this[propertyName] = ko.observable(value);
    }
}

暫無
暫無

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

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