ノックアウトでの人間関係に問題があります。
私のプロジェクトでは、項目を constructionTypes から currentWindow.constructionParametres にコピーしてから、変更します
this.currentWindow().constructionParametres().items()[0].currentStep(2)
ただし、constructionTypes も変更されます。slice() を試しましたが、成功しませんでした。
私は何をすべきか?
ありがとう。
function ReservationsViewModel() {
this.constructionTypes = ko.observableArray([
{ id: 1, items: ko.observableArray([
{ type: 1, currentStep: ko.observable(1), steps: []},
{ type: 0, currentStep: ko.observable(1), steps: []},
{ type: 0, currentStep: ko.observable(1), steps: []},
{ type: 0, currentStep: ko.observable(1), steps: []}
])
},
{ id: 2, items: ko.observableArray([
{ type: 1, currentStep: ko.observable(1), steps: []},
{ type: 2, currentStep: ko.observable(1), steps: []},
{ type: 0, currentStep: ko.observable(1), steps: []},
{ type: 0, currentStep: ko.observable(1), steps: []}
])
}
]);
this.currentWindow = ko.observable({
id: ko.observable(0),
name: ko.observable('Need 1'),
constructionParametres: ko.observable( this.constructionTypes().slice()[0] )
});
this.currentWindow().constructionParametres().items()[0].currentStep(2);
this.currentWindow().constructionParametres().items()[0].currentStep(3);
}
ko.applyBindings(new ReservationsViewModel());