0

阅读knockoutJs 教程,但无法使其正常工作。在第一页上,使用了第一种方法,在第二页上,使用了第二种方法来创建模型。但第二种方法不起作用。可能是什么问题呢?

第一种方法

var AppViewModel {
    this.firstName = 'Bob',
    this.lastName = 'Smith'
};

第二种方法

function AppViewModel() {
    this.firstName = 'Bob';
    this.lastName = 'Smith';
}

Html部分如下:

<body>

  <span data-bind="text: firstName"></span>



  <script type="text/javascript">
      ko.applyBindings(AppViewModel);
  </script>
</body>

这适用于第一种方法,但第二种方法会引发错误:

未捕获的错误:无法解析绑定。消息:ReferenceError:firstName 未定义;绑定值:文本:firstName

4

1 回答 1

4

在第一种方法中,您定义了一个对象。在第二种方法中,您定义了一个类的构造函数,因此您必须使用new关键字创建该类的实例:

<body>
  <span data-bind="text: firstName"></span>

  <script type="text/javascript">
      ko.applyBindings(new AppViewModel());
  </script>
</body>
于 2012-11-20T13:29:23.127 回答