【发布时间】:2011-07-19 04:11:45
【问题描述】:
我有以下 knockout.js 代码
我有以下内容:
var itemLine = function() {
this.itemId = ko.observable();
this.itemType = ko.observable();
///this.otherFields = = ko.observable();....
};
var itemSet = function () {
this.items = ko.observableArray(_.map(initialData, function (item) {
var newItem = new itemLine();
newItem.itemId(item.itemId);
newItem.itemType(item.itemType);
return newItem;
}));
this.current = new itemLine();
// works, but it req duplication of all my fields
this.add = function () {
var newItem = new itemLine();
newItem.itemId(this.current.itemId());
newItem.itemType(this.current.itemType());
this.items.push(newItem);
this.current.itemerId("");
this.current.itemType("");
};
// doesn't work
this.add = function () {
this.items.push(this.current);
this.current = new interviewLine(); // bindings are lost
};
第二个 add 实现有什么问题?这样做的正确方法是什么?
【问题讨论】: