如何设置子视图模型并让它更新html?

时间:2014-03-11 23:25:48

标签: knockout.js knockout-mapping-plugin

我是淘汰赛的新手,我正在尝试使用映射插件映射一些数据后设置子视图模型。我认为它就像设置我的样本一样简单,或者下面的那个,但是都不起作用。有任何想法吗?我已经设置了一个样本来帮助

jsfiddle

viewModel.owner = ownerTwoViewModel;


viewModel.owner(ownerTwoViewModel);

1 个答案:

答案 0 :(得分:0)

viewmodel.owner不是一个可观察的属性,因此它不会更新。所以让它可以观察到。

var project = {
  title: "knockout",
  owner: ko.observable({
    name: 'Steve',
    title: 'Mr.'
  })
};
var ownerTwo = {
  name: 'Sarah',
  title: 'Mrs.'
};

//viewmodels
var viewModel = ko.mapping.fromJS(project);
var ownerTwoViewModel = ko.mapping.fromJS(ownerTwo);

//binding
ko.applyBindings(viewModel);
//jquery event
$("#target").click(function () {
    viewModel.owner(ownerTwoViewModel);
});

Jsfiddle Demo