用对象初始化一个observable

时间:2012-10-30 07:38:17

标签: javascript jquery data-binding knockout.js observable

如何创建由对象初始化的observable?

function Company(object) {
    this.Code = object != undefined && object.Code != undefined ? ko.observable(object.Code) : ko.observable();
    this.Name = object != undefined && object.Name != undefined ? ko.observable(object.Name).extend({ required: { message: "Nom de la companie est obligatoire" } }) : ko.observable().extend({ required: { message: "Nom de la companie est obligatoire" } });  
};

//查看模型

  var company = new AddedCompany();
  self.company = ko.observable(company);

我在控制台中没有出现任何异常,但绑定无法正常工作 是否可以首先初始化具有对象的可观察对象?

1 个答案:

答案 0 :(得分:0)

是的,但您需要使用with binding将上下文更改为子视图模型(在本例中为公司)

<!-- ko with: company -->
<div data-bind="text: Name"></div>
<!-- /ko -->

with binding可以使用和不使用虚拟元素