mvc + knockout:如何初始化模型的淘汰数据

时间:2013-11-01 11:05:21

标签: c# asp.net-mvc asp.net-mvc-4 knockout.js

我是淘汰赛和mvc(.net)的新手。我以网络形式工作。

我读了很多,我理解“纯粹的”淘汰赛。我也理解“纯粹的”MVC。

问题是如何使用MVC模型属性值来初始化挖掘模型?

2 个答案:

答案 0 :(得分:3)

如果您要传递一个显示所有者和他拥有的汽车列表的ViewModel。 也就是说,如果我们传递一个Person(id,firstName,lastName,age)对象和一个Cars集合(id,person_id,make,color),我们就像

一样初始化它
var vm = {};
$(document).ready(function () {    
    var personJSON = @Html.Raw(Json.Encode(Model.person));
    var carsJSON = @Html.Raw(Json.Encode(Model.Cars));
    var PersonCarsViewModel() {
        var self = this;
        self.person = ko.observable(personJSON);
        self.cars = ko.observableArray(carsJSON);
    }
    vm = new PersonCarsViewModel();
    ko.applyBindings(vm);
});

请记住

  

observableArray跟踪数组中的对象,而不是那些对象的状态

这意味着如果您必须更新汽车内容,则应将其设为observableArray ko.observable

答案 1 :(得分:2)

var myKnockoutViewModel = new MyKnockoutViewModel('@Model.PropertyOne', '@Model.PropertyTwo');
ko.applyBindings(myKnockoutViewModel, document.getElementById('myId'));