我想用新數據重新綁定相同的模型,或者您可以在調用ajax後說我想用全部新數據更新模型。如何在淘汰賽中重新綁定相同的視圖模型
function returnData(url,data,type){
$.post(url, data, function(returnedData) {
if(type == "search")
{
ko.applyBindings(new SearchViewModel(returnedData,"#searchbox",url,data),$("#searchbox")[0]);
}
});
}
這是爲數據調用ajax的代碼,當新的數據被接收時,它將它綁定到模型。 第一次不是問題,但下次它將相同的數據加倍。
returnData(doamin+"/1.0/search",{userid:"12033914132",keyword:""},"search");
我想在輸入新的搜索詞時調用相同的函數。
我知道,我們可以用觀察到的更新數據,但我想清除舊的綁定,並添加新的
function SearchViewModel(data,id,url,userdata) {
var self = this;
// Editable data
var ParsedData = JSON.parse(data);
self.Contacts = ko.observableArray(ParsedData.Contacts);
self.Sms = ko.observableArray(ParsedData.Sms);
self.Calendar = ko.observableArray(ParsedData.Calendar);
self.Logs = ko.observableArray(ParsedData.Logs);
self.Total = ko.toJS(self.Contacts).length+ko.toJS(self.Sms).length+ko.toJS(self.Calendar).length;
self.ContactsCount = ko.toJS(self.Contacts).length;
self.SmsCount = ko.toJS(self.Sms).length;
self.CalendarCount = ko.toJS(self.Calendar).length;
}
力工作的任何別的東西我不使用映射可以做什麼? – rohitarora
嘗試更新。如果它仍然不起作用,那麼你將需要擴展不起作用的東西。 –
我認爲它不工作,因爲這個變量'searchViewModel = new SearchViewModel();'它無法創建這個類的對象。我仍然在問什麼沒有使用映射 – rohitarora