私は予約をするためのアプリケーションを書いています。 予約手順はかなり複雑で、かなりの依存関係がありますので、ノックアウトを使用して変更を観察し、UIを更新することにしました。ノックアウトJS - viewModelアクセス
私は顧客リストの実装を開始しました。フォームの最初の顧客は自分の詳細を入力する必要があり、他の顧客は名前が必要です。 私は、現在の顧客が追加のフィールドを表示するかどうかを決定するためにcustomers配列内の最初のものであるかどうかを調べるdependentObservableを追加するだけでよいと考えました。
問題は、顧客からviewModelにアクセスしようとすると「undefined」しか得られないということです。 viewModelへの参照を顧客に渡そうとしましたが、それもうまくいきませんでした。 私は何が間違っていますか? viewModelにアクセスできませんか?ここで
はコードです:
var customer = function(){
this.firstName = ko.observable('');
this.lastName = ko.observable('');
this.fullName = ko.dependentObservable(
function(){
return this.firstName() + " " + this.lastName();
},
this
);
this.gender = ko.observable('');
this.diet = ko.observable('');
this.primaryCustomer = ko.dependentObservable(
function(){
console.log(viewModel);
return viewModel.customers.indexOf(this) == 0;
},
this
);
this.email = ko.observable('');
}
var viewModel = {
customers: ko.observableArray([new customer()]),
addCustomer: function(){
this.customers.push(new customer());
},
removeCustomer: function(customer){
this.customers.remove(customer);
}
}
ko.applyBindings(viewModel);