我有一個可觀察的用戶對象數組視圖模型設置。添加/刪除項目正常工作,但如何更新項目?我可以使用ko indexOf函數找到這些值。如何更新knockoutjs可觀察數組項目
function User(username, date_inactive, date_active) {
this.username = username;
this.date_active = date_active;
this.date_inactive = date_inactive;
};
User.prototype.inactivateMe = function() {
json_responses.push(this);
$.getJSON("url" + this.username, function(json) {
original = json_response.pop();
//do update here
});
};
userModel = [ ], //Where the loaded usernames are stored.
viewUserModel = {
users: ko.observableArray(userModel)
//.......
//This is how I'm adding users to the array.
addUser: function() {
$.getJSON("url",
{ username: usern },
function(json) {
if(json.STATUS != undefined && json.STATUS == 'success') {
newuser = new User(json.USERNAME, json.DATE_ACTIVE, json.DATE_INACTIVE );
viewUserModel.users.push(newuser);
}
}
});
}
viewUserModel.users的值從服務器json響應中被推送到數組中。
我希望能夠在用戶單擊按鈕並且服務器響應成功時更新date_active和date_inactive值。
我的設置是從http://net.tutsplus.com/tutorials/javascript-ajax/into-the-ring-with-knockout-js-the-title-fight/
你是否試圖讓'date_active'和'date_inactive'也可觀察? KO應該檢測對他們的訪問並訂閱相關的觀察結果。 – lanzz
我已經考慮過這個問題,但我並不完全相信如何做出這項工作,因爲我是KO的新手。 – Aaron