Javascript Knockoutjs不起作用
我开始学习knockoutjs,我遇到了一个错误。Aptana编辑器在以下位置显示错误:Javascript Knockoutjs不起作用,javascript,html,knockout.js,Javascript,Html,Knockout.js,我开始学习knockoutjs,我遇到了一个错误。Aptana编辑器在以下位置显示错误: data-bind: .... 标记的属性,该属性抱怨它是专有标记。我已经确保包含所有需要的javascript文件,并且我已经检查了前面的问题:。 这是我的密码: <!DOCTYPE html> <html> <head> <script type='text/javascript' src='jquery-1.8.2.min.js'
data-bind: ....
标记的属性,该属性抱怨它是专有标记。我已经确保包含所有需要的javascript文件,并且我已经检查了前面的问题:。
这是我的密码:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='jquery-1.8.2.min.js'></script>
<script src='jquery.tmpl.min.js' type='text/javascript'></script>
<script src='knockout-2.2.0.js' type='text/javascript'></script>
</head>
<body>
<script>
function AppViewModel() {
this.firstName = "Bert";
this.lastName = "Bertington";
}
ko.applyBindings(new AppViewModel());
</script>
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
</body>
</html>
函数AppViewModel(){
this.firstName=“Bert”;
this.lastName=“Bertington”;
}
应用绑定(新的AppViewModel());
名字:
姓氏:
即使忽略了Aptana并希望浏览器显示它,我仍然一无所获。我正在使用Firefox 16,但我也尝试了IE 8,但没有效果。将脚本标记移到标记下方
<body>
<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>
<script>
function AppViewModel() {
this.firstName = "Bert";
this.lastName = "Bertington";
}
ko.applyBindings(new AppViewModel());
</script>
</body>
名字:
姓氏:
函数AppViewModel(){
this.firstName=“Bert”;
this.lastName=“Bertington”;
}
应用绑定(新的AppViewModel());
太好了,它奏效了,但为什么呢?为什么脚本应该在标记之后?我将要编写的所有脚本都应该是这样的吗?在脚本执行之前,DOM还没有加载。另一种选择是将其封装在函数中<代码>$(函数(){ko.applyBindings(新的AppViewModel());})代码>与标记内联的脚本标记与浏览器对该标记的处理同步执行,因此sghill
注意到,当您尝试应用绑定时,DOM元素尚未准备就绪。通过将脚本移到底部,可以保证目标DOM元素可用。或者,使用jQueryready
回调将确保在加载DOM之前代码不会运行。看见搜索激活敲除。