在淘汰模型中获取 MVC 模型参数的最佳实践是什么?
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 等,并有一个图书列表(每本书都有 tile、author 和其他属性)。
我相信你可以使用这样的东西:
var booksJSON = @Html.Raw(Json.Encode(Model.Books));
然后在淘汰赛 Person 模型中使用:
self.books = ko.observableArray(booksJSON);
这仅提供书籍。
但是,如果我想获取有关 Person 的所有信息(书籍,包括 FirstName、LastName、Phone 和一堆属性),那么最好的方法是什么?我可以以某种方式使用Json.Encode
整个 Person 模型,然后离开那里的所有东西,包括 Person.Books 还是应该将其拆分为多个Json.Encode-s
?