ここに、ノックアウトマッピングを使用してサーバーモデル(提供されている例ではローカル)に基づいていくつかのhtmlコンテンツを生成するjsfiddleの例があります。
ネストされたアドレスの新しいアドレスブロックを作成するにはどうすればよいですか?つまり、「新規追加」というボタンを作成して、下部に空のアドレスブロックを作成するにはどうすればよいですか?
提供された支援に事前に感謝します。
編集-再開
問題は解決されていません。Billのソリューション(下記)を実装した後、新しく追加されたアドレスブロックの計算されたオブザーバブルが無効になっているために機能しないことに気付きました。誰かがこれを理解できることを願っています。ありがとう。
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
});