我正在尝试在我的项目中使用Knockout-ES5和Knockout。但它似乎根本不起作用。这是一个非常简单的样本,取自官方的Knockout教程。这是我的标记代码
<p>First name: <input data-bind="text: firstName" /></p>
<p>Last name: <input data-bind="text: lastName" /></p>
这是我的js文件
$(function () {
var obj = {
firstName: 'Bert',
lastName: 'Bertington'
}
ko.track(obj);
obj.firstName.subscribe(function(v){
alert(v);
});
});
obj.firstName.subscribe(function)行崩溃,异常
“对象不支持属性或方法'订阅'(IE10)。我似乎无法理解为什么会出现此错误。以下是使用的js文件:
<script src="scripts/jquery-2.1.1.js"></script>
<script src="scripts/knockout-2.debug.js"></script>
<script src="scripts/weakmap.js"></script>
<script src="scripts/knockout-es5.js"></script>
我尝试了各种组合:例如
ko.track(obj);
ko.applyBindings(obj);
但仍然没有。任何对正确方向的建议都将非常感激。谢谢你/
答案 0 :(得分:1)
我没有使用过ko es5,但快速查看了他们的文档。
看起来你需要使用一种方法来掌握底层的observable:
访问observables
如果要访问底层证券 ko.observable为给定的属性,例如,以便您可以订阅 在更改时收到通知,请使用ko.getObservable:
ko.getObservable(someModel, 'email').subscribe(function(newValue) {
console.log('The new email address is ' + newValue); });
http://blog.stevensanderson.com/2013/05/20/knockout-es5-a-plugin-to-simplify-your-syntax/