[英]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.