即使使用默认教程,也无法应用knockout绑定

jok*_*der 3 javascript jquery knockout.js

我试图绑定适用于特定的DOM元素,但我有我的任何代码或例子没有成功在这里

这就是我现在所拥有的:

var Test = function(first, last){
    this.first = ko.observable(first);
    this.last = ko.observable(last);
}

ko.applyBindings(new Test("Hello", "World"), $("#Element").get());
Run Code Online (Sandbox Code Playgroud)

我一直这样

Uncaught Error: ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node 
Run Code Online (Sandbox Code Playgroud)

我试过给它只有jQuery元素也无济于事.我可以通过视觉和控制台测试确认$("#Element")是DOM的一部分.

nem*_*esv 6

没有任何参数$("#Element").get()确实如下(doc):

检索jQuery对象匹配的DOM 元素.

所以它返回匹配元素的数组,即使这个数组只包含一个元素.

所以你需要使用带索引的重载:

ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
Run Code Online (Sandbox Code Playgroud)

或索引返回的数组:

ko.applyBindings(new Test("Hello", "World"), $("#Element").get()[0]);
Run Code Online (Sandbox Code Playgroud)