【发布时间】:2015-02-02 09:51:29
【问题描述】:
我正在尝试掌握 Knockout,因此我创建了以下 html 文件...
<html>
<head>
<script type='text/javascript' src='http://knockoutjs.com/downloads/knockout-3.2.0.js'></script>
<script type='text/javascript' src='jsfile.js'></script>
</head>
<h1>Welcome<h1>
<button data-bind="click: speak">Say it</button>
<script>
alert('Binding Started');
function indexViewModel() {
this.speak = function() {
alert('Working!!');
};
}
ko.applyBindings(new indexViewModel());
alert('Binding Done');
</script>
</html>
当我加载页面时,一切都很好。我收到一条警告说绑定正在开始……然后我收到另一个警告说它已完成,当我单击按钮时……是的,你猜对了,我收到一条警告说它正在工作。
我遇到的问题是,当我尝试将 java 脚本代码分离到一个外部文件中时,它不会应用绑定。
所以我的html文件会是这样的......
<html>
<head>
<script type='text/javascript' src='http://knockoutjs.com/downloads/knockout-3.2.0.js'></script>
<script type='text/javascript' src='jsfile.js'></script>
</head>
<h1>Welcome<h1>
<button data-bind="click: speak">Say it</button>
</html>
我的文件“jsfile.js”看起来像这样......
alert('Binding Started');
function indexViewModel() {
this.speak = function() {
alert('Working asstastic');
};
}
ko.applyBindings(new indexViewModel());
alert('绑定完成');
当我现在加载 html 页面时,我会收到绑定开始的警报,然后......什么都没有...... :(
如果我删除 ko.applyBindings(.. 的行,那么它会给我第二个警报,表明绑定已完成。但显然按钮没有注意到。
我在做什么错它似乎没有看到 .js 文件中的淘汰功能,但我已经碰壁了..
请帮忙..
【问题讨论】:
标签: javascript html knockout.js