私はknockout.jsに若干の変更がありました。私のコードは次のようになります。Knockout.js Observable Array Operations
var Building = function() {
var self = this;
self.nLocation = ko.observable();
self.nBuilding = ko.observable();
...
self.increaseLocNum = function() {
self.nLocation(self.nLocation + 1);
};
}
var Quote = function() {
var self = this;
var nQuoteID = ko.observable();
...
self.buildings = ko.observableArray([]);
self.addBuilding = function(){
...
// Build new building with next loc/building number
buildings.push();
}
...
}
ko.applyBindings(new Quote());
本質的に私はそれに複数の建物を持つことができる見積もりを持っています。各建物は、タブコントロール上の別のタブにバインドされています。これらのタブには、位置番号を増減する+/-ボタンがある「位置情報」フィールドがあります。
私は建物が最も高い位置番号で唯一の建物であれば、例えば(+/-ボタンを有効に設定するバインディング[有効にする]を使用する必要がありますここでは簡単なルールのいくつかの例は次のとおりです。
- 建物場合
- 場所の数が増加することができない最高の場所にのみ建物である場合に建物が位置に1
- 場所の数が増加することはできませんされている場合数を減少させることができない場所1つの建物しかありません
ロジックはかなりストレートですが、このロジックがノックアウトのベストプラクティスに従うためにはどこに行かなくてはなりませんか?
私は私がしなければならないだろうと疑わが、いくつかの安心を持って常にいい、ノックアウトして新しいものだけで何! – user3060454