我正在尝试在项目中与Knockout一起使用Knockout-ES5。但这似乎根本不起作用。这是从官方的淘汰赛教程中提取的一个非常简单的示例。这是我的标记代码
<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)崩溃,但异常
“对象不支持属性或方法'subscribe'(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);
但还是一无所有。任何对正确方向的建议将不胜感激。谢谢/
最佳答案
我没有使用ko es5,但快速浏览了他们的文档。
看起来您需要使用一种方法来掌握潜在的可观察对象:
访问可观察对象
如果要访问基础
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/
关于javascript - knockout ES5无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28503693/