Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 淘汰赛-ES5不起作用_Javascript_Asp.net_Knockout.js - Fatal编程技术网

Javascript 淘汰赛-ES5不起作用

Javascript 淘汰赛-ES5不起作用,javascript,asp.net,knockout.js,Javascript,Asp.net,Knockout.js,我正在尝试在我的项目中使用Knockout-ES5和side Knockout。但它似乎根本不起作用。下面是一个从官方淘汰赛教程中获取的非常简单的示例。这是我的标记代码 <p>First name: <input data-bind="text: firstName" /></p> <p>Last name: <input data-bind="text: lastName" /></p> 行obj.fir

我正在尝试在我的项目中使用Knockout-ES5和side Knockout。但它似乎根本不起作用。下面是一个从官方淘汰赛教程中获取的非常简单的示例。这是我的标记代码

    <p>First name: <input data-bind="text: firstName" /></p>
    <p>Last name: <input data-bind="text: lastName" /></p>
obj.firstName.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 es5,但是快速查看了他们的文档

看起来您需要使用一种方法来获取基本的可观察对象:

访问可观察对象 如果要访问底层 ko.对于给定的属性是可观察的,例如,您可以订阅 在其更改时接收通知,请使用ko.getObservable:


非常感谢您的快速回答。是的,您的回答是正确的。不再有例外,但也没有绑定。不仅我的控件保持闪烁(它们不接收初始值[Bert Bertington]但是订阅句柄没有被调用。看起来ko.track什么都不做……我建议用js小提琴来描述你的新问题。这听起来像是另一个问题。感谢各位,我解决了这个问题:首先在我的标记代码中,我应该有“input data bind=value”而不是“input data bind=text”“第二,我必须称为ko.applyBindings(obj);在ko.track(obj)之后;现在,每种方法似乎都有效
<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.getObservable(someModel, 'email').subscribe(function(newValue) {
  console.log('The new email address is ' + newValue); });