Ich suche nach dem besten Weg, ein beobachtbares Knockout-Array von einigen Serverdaten (ViewBag) zu initialisieren, und ich möchte, dass der Array-Inhalt von einem Javascript-Typ ist, den ich definiert habe. Ohne die Anforderung des JS-Typs könnte ich einfach verwenden:
%Vor%, aber ich habe auch einen Material-JS-Typ, den ich verwenden möchte, damit ich einige zusätzliche Eigenschaften und Funktionen von ViewModel haben kann, das heißt:
%Vor%Und dann wird die erforderliche Initialisierung:
%Vor%Momentan baue ich eine Zeichenkette aus den ViewBag-Daten und rendere sie dann als Initialisierer wie folgt:
%Vor% Aber ich frage mich, ob es einen saubereren Weg gibt als das string.Join
-Bit. Ich könnte es in einen Helfer einpacken. Was machst du?
Ich würde das Array normalerweise zuerst serialisieren und dann zuordnen, wenn es in das Ansichtsmodell eingefügt wird. Wäre wie:
%Vor%Erfordert eine geringfügige zusätzliche Verarbeitung auf der Clientseite, scheint aber sauberer zu sein als das Erstellen von Zeichenfolgen.
Tags und Links asp.net-mvc knockout.js asp.net-mvc-3 javascript