function UserInformation(data) {
var self = this;
this.AddressDetails = ko.observable(data.AddressDetails)
// Client Details is array of ClientDetailInfo
this.ClientDetails = ko.observableArray(data.ClientDetails);
this.UserID = ko.observable(data.UserID);
}
function ClientDetailInfo(data) {
this.Name = ko.observable(data.Name);
this.Value = ko.observable(data.Value);
}
function InputFieldInfo(data) {
this.DatabaseName = ko.observable(data.DatabaseName);
this.Value = ko.observable(data.Value);
// collab list gets filled when a user adds collaborators from the ui
this.DatabaseName.CollabList = ko.observableArray([]);
}
function ViewModel() {
var self = this;
this.Name = ko.observable("");
this.InputFields = ko.observable([]);
//ajax request that maps data to InputFields
//ajax request that maps data to User
}
名前が「Perm_Collabs」であるClientDetailsと呼ばれるobservableArrayのインデックスから情報を取得し、その値を、DatabaseNameが「Collaberators」であるInputFieldsのCollabListと呼ばれるObservableArrayに渡します。今、私はこれをクロームで動作させています。他のブラウザは見た目と同じ速さで動作します。情報がajaxからのものであるため、現在非同期であるため、存在しないフィールドにデータを入れようとすると問題が発生する可能性があります。だから私はクロームでうまく機能するサブスクリプションでこれをやろうとしましたが、他にはありません。これに対する最善のアプローチは何ですか。いつものように、より多くの情報が必要な場合は質問してください!Calvinに感謝します。