正在阅读淘汰Js教程,但无法做到这一点。在第一页上,使用第一种方法,在第二页上,使用第二种方法创建模型。但第二种方法行不通。可能是什么问题?
第一种方法
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>
这适用于第一种方法,但第二种方法会引发错误:
未捕获错误:无法分析绑定。消息: 引用错误: 未定义名字;绑定值:文本:名字
在第一种方法中,您定义了一个对象。在第二种方法中,您定义了一个类的构造函数,因此您必须使用 new
关键字创建该类的实例:
<body>
<span data-bind="text: firstName"></span>
<script type="text/javascript">
ko.applyBindings(new AppViewModel());
</script>
</body>