我不能创建一个可以观察到的淘汰模型的对象

时间:2016-09-30 17:46:12

标签: javascript knockout.js

这是演示问题http://jsfiddle.net/LkqTU/31955/

的小提琴

我在小提琴中表达了我的实际问题。我正在通过web api 2和ajax加载一个对象并将其插入到我的淘汰赛模型中。但是,当我这样做时,似乎不再能观察到属性。我不确定如何使它们可观察到。在示例中,您将看到文本框和范围加载原始值但更新文本框不会更新值。

这是javascript。

function model() {
  var self = this;
  this.emp = ko.observable('');
  this.loademp = function() {
    self.emp({
      name: 'Bryan'
    });

  }
}

var mymodel = new model();

$(document).ready(function() {

  ko.applyBindings(mymodel);
});

这是html

<button data-bind="click: loademp">
  load emp
</button>
<div data-bind="with: emp">
  <input data-bind="value: name" />
  <span data-bind="text: name"></span>
</div>

1 个答案:

答案 0 :(得分:1)

您需要使name属性可观察:

this.loademp = function(){
 self.emp({name: ko.observable('Bryan')});
}