ノックアウト モデル内で MVC モデル パラメータを取得するためのベスト プラクティスは何ですか?
1) パラメータを 1 つだけ取得する必要がある場合は、次を使用してノックアウト ビュー モデル プロパティを設定できます。
this.firstName = @Model.FirstName;
2)モデル内に多数のプロパティがある場合は、次のことができます。
var modelData = function () { return @Html.Raw(Json.Encode(Model)); }();
そして後で使用する
this.firstName = modelData.FirstName;
this.lastName = modelData.LastName;
this.phoneNumber = modelData.PhoneNumber;
etc.
3) Person モデル内に Collection がある場合はどうなりますか。人物モデルからコレクションを取得する最良の方法は何ですか?
たとえば、Person は FirstName、LastName、PhoneNumber などを持ち、本のリストを持ちます (各本にはタイル、著者、その他のプロパティがあります)。
次のようなものを使用できると思います:
var booksJSON = @Html.Raw(Json.Encode(Model.Books));
次に、ノックアウトの Person モデルで次を使用します。
self.books = ko.observableArray(booksJSON);
これは本だけを与えます。
しかし、Person に関するすべての情報 (FirstName、LastName、Phone、および多数のプロパティを含む本) を取得したい場合、これを行うための最良の方法は何ですか? どういうわけか Person モデル全体に使用Json.Encode
して、Person.Books を含むすべてのものから抜け出すことができますか、それとも複数に分割する必要がありますJson.Encode-s
か??