在我的HTML頁面中有3個輸入。使用用戶輸入,我希望使用KnockoutJS更新我的頁面元素。這是我寫的腳本:在KnockoutJS中將數據推送到數組的問題
$(document).ready(function(){
function Task(data){
this.goal=ko.observable(data.goal);
this.type=ko.observable(data.type);
this.date=ko.observable(data.date);
console.log("Data"+ " " + data.goal);
}
var myViewModel=function(tasks){
var self=this;
self.tasks=ko.observableArray([{goal:"abc", type:"Intermediate", date:"12/13/1122"}]);
self.newGoalText=ko.observable("");
self.newTypeText=ko.observable("");
self.newDateText=ko.observable("");
self.addTask=function(){
self.tasks.push(new Task({goal:this.newGoalText(),type:this.newTypeText(), date:this.newDateText()}));
console.log(tasks);
self.newGoalText("");
self.newTypeText("");
self.newDateText("");
}//addTask function
}//viewModel
ko.applyBindings(new myViewModel())
});
console.log告訴我,值是從用戶獲得的預期。但是,任務數組上的「推」方法似乎根本沒有效果。請指導我。
問題可能在於你的html,所以它會有幫助,如果你發佈它。我測試了你的代碼(沒有改變任何東西),它和我提供的標記一起工作。見https://jsfiddle.net/ffojupuf/ – Adrian
@Adrian,謝謝你的幫助。我的HTML代碼和你的類似,我沒有發現很多不同的wrt綁定。不知道出了什麼問題,但!我使用「值」而不是「textInput」。這是唯一的區別。 –