Was ich versuche zu tun ist, um Daten vom Server und dann alles in eine beobachtbare setzen und dann alle Eigenschaften beobachtbar machen. Das Problem, mit dem ich konfrontiert bin, ist, dass es nicht alle meine Eigenschaften beobachtbar macht und ich brauche sie alle, um beobachtbar zu sein, da manchmal abhängig von den Daten einige Eigenschaften beobachtbar sind und manchmal nicht.Knockout JS nicht setzen alle Mitglieder beobachtbar
var viewModel = this;
viewModel.Model = ko.observable();
viewModel.SetModel = function (data) {
viewModel.Model(ko.mapping.fromJS(data));
}
Die Daten, die vom Server I empfangen ist wie das zum Beispiel: normaldata, Artikel (das ein Array mit unbekannter Anzahl von Elementen ist). also wenn ich versuche, auf Daten wie viewModel.Model().Items[0]().Layer()
zuzugreifen, habe ich manchmal Schicht als Funktion und manchmal ist es ein normales Element mit beobachtbaren Elementen. Ich will alle meine Gegenstände innerhalb der Einzelteile, um Schicht als Funktion zu haben.
Server-Daten Beispiel: Name: "test" Artikel: [Schicht [ID: 132]] In diesem Beispiel Namen, Artikel und ID beobachtbar ist aber Schicht nicht.
Fiddle Beispiel: jsfiddle.net/98dv11yz/3 Also das Problem ist, dass manchmal die Schicht null ist, was zu ko macht die Eigenschaft zu beobachten, aber manchmal die Eigenschaft hat id und ko macht nur die untergeordneten Elemente beobachtet werden. Das Problem ist, dass ich habe, wenn es im Code ist und ich möchte, dass es eine Funktion ist, so kann ich es immer als Schicht() sagen, denn jetzt ist es manchmal Schicht oder Schicht()
Der Beitrag ist ziemlich schwer zu verstehen. Bitte lesen Sie es erneut und versuchen Sie es zu klären, und versuchen Sie, eine [mcve] einzubeziehen. – Jeroen
bearbeitet ... hoffe das ist gut genug! – xDevil
Sorry, es hilft mir nicht allzu sehr, fürchte ich. Hast du den Link von meinem vorherigen Kommentar überprüft? Versuchen Sie, eine * runnable * (aber minimale) Repro für Ihre Situation zu erstellen. Von dem, was du bisher gepostet hast, scheint das vollkommen möglich zu sein. (Darüber hinaus hilft es auch, wenn Sie auf die Formatierung und wenn möglich Rechtschreibung in Ihrem Beitrag achten; es gibt eine Live-Vorschau beim Bearbeiten.) – Jeroen