敲除-ES5不工作

Knockout-ES5 not working

本文关键字:工作 -ES5 敲除      更新时间:2023-10-30

我正试图在我的项目中使用Knockout-ES5和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(函数)行崩溃,出现异常

"对象不支持属性或方法‘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/