我使用KnockoutJs并且很棒,但我需要一件事,我无法理解。
这很好但是,当然,我失去了我的淘汰视图模型中定义的方法。
非常感谢!
这只是一个样本。也许有一些语法错误,但它应该显示我想要做的事情。
var MyViewModel = function () {
var self = this;
self.id = ko.observable();
self.subModels = ko.observableArray();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
var MySubViewModel = function () {
var self = this;
self.id = ko.observable();
self.doSomething = function () {
alert("Hello from " + self.id());
};
};
public class MyViewModel
{
public int Id { get; set; }
public List<MySubViewModel> SubModels { get; set; }
}
public class MySubViewModel
{
public int Id { get; set; }
}
return new MyViewModel
{
Id = 1,
SubModels = new List<MySubViewModel>
{
new MySubViewModel { Id = 1 },
new MySubViewModel { Id = 2 }
}
};
答案 0 :(得分:3)
如果您使用的是ko映射插件,则可以将json对象映射到viewmodel中的模型。例如,如果要获取人员列表,则可以将json映射到viewModel.people。这样你就可以保持你的viewmodel的其他属性不受影响。