【发布时间】:2012-08-06 18:59:21
【问题描述】:
我在这里有一个示例 jsfiddle,它使用敲除映射基于服务器模型(在提供的示例中为本地)生成一些 html 内容。
如何为嵌套地址创建新的地址块? 即如何创建一个名为“添加新”的按钮并在底部创建一个空地址块?
提前感谢您提供的任何帮助。
编辑 - 重新打开
问题没有解决。我注意到,在我实现Bill's solution(如下)之后,我为新添加的地址块计算的可观察对象不起作用,因为它们已被禁用。希望有人能解决这个问题。谢谢。
self.SMMDD = ko.computed({
read: function() {
**if ($.isFunction(self.SMONTH)) {**
return self.SMONTH() + "/" + self.SDAY();
**}**
},
write: function(value) {
self.SMONTH(value.substring(0, 2));
self.SDAY(value.substring(2, 4));
},
owner: self
});
编辑 - 已解决
添加 deferEvaluation 选项似乎已经解决了这个问题。
self.SMMDD = ko.computed({
read: function() {
return self.SMONTH() + "/" + self.SDAY();
},
write: function(value) {
self.SMONTH(value.substring(0, 2));
self.SDAY(value.substring(2, 4));
},
owner: self,
deferEvaluation: true
});
【问题讨论】:
-
您是否要添加一个显示“添加新地址”的按钮并在底部创建一个空地址块?
-
我也不确定你想要什么。请澄清。
-
很抱歉不够清晰。是的,我想要一个显示“添加新地址”的按钮,并在底部创建一个空地址块。
标签: knockout.js knockout-mapping-plugin