请一些建议我在这里设置了一个小提琴:
http://jsfiddle.net/tonymaloney1971/cagnL1o1/6/
var data = [{ PostCodeStart: "", PostCodeEnd: "", Mileage: "", Notes: "" }];//[{ PostCodeStart: "PO200QW", PostCodeEnd: "SE1 9FD", Mileage: "127", Notes:"Hello World" }];
var viewModel = {
journeyList: ko.observableArray(data),
journeyListNotBound: [],
add: function (data) {
if (data.PostCodeStart === "" || data.PostCodeEnd === "" || data.Mileage === "") {
alert("empty field");
}
else {
//Do I need this journeyListNotBound
viewModel.journeyListNotBound.push({ PostCodeStart: data.PostCodeStart, PostCodeEnd: data.PostCodeEnd, Mileage: data.Mileage, Notes: data.Notes });
viewModel.journeyList.push({ PostCodeStart: postCodeStart, PostCodeEnd: postCodeEnd, Mileage: mileage, Notes: notes });
}
},
remove: function (data) {
viewModel.journeyList.remove(data);
}
};
现在,每次用户按下+按钮我都希望有Start Post代码,End Post代码和Mileage,并且所有注释都以空字符串开头。我已经实现了这个(在ROY的帮助下),但是使用了一个普通的Javascript数组(journeyListNotBound),所以我们有一个KO数组和Javascript数组,我们只能用一个KO数组来做这个吗?
由于
答案 0 :(得分:1)
查看http://jsfiddle.net/kjv07wrg/是否更像您想要的。
我创建了一个自定义类JourneyStep
,并为每个新步骤分配了一个具有空属性的对象。此外,使用viewModel
调用现在是函数的new viewModel()
。我将Plus按钮更改为仅在UI中出现一次,并且每一步都保留其删除按钮。