阅读knockoutJs tutorial并无法使其发挥作用。在第一页上,使用了第一种方法,在第二页上,第二种方法用于创建模型。但第二种方法不起作用。可能是什么问题?
第一种方法
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未定义;绑定值:text:firstName
答案 0 :(得分:4)
在第一种方法中,您定义了一个对象。在第二种方法中,您定义了一个类的构造函数,因此您必须使用new
关键字创建该类的实例:
<body>
<span data-bind="text: firstName"></span>
<script type="text/javascript">
ko.applyBindings(new AppViewModel());
</script>
</body>