Javascript 即使使用默认教程,也无法应用淘汰绑定
我试图将绑定应用于特定的DOM元素,但无论是代码还是示例都没有成功 这就是我现在拥有的:Javascript 即使使用默认教程,也无法应用淘汰绑定,javascript,jquery,knockout.js,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()); 我一直收到这个 Uncaught Error:
var Test = function(first, last){
this.first = ko.observable(first);
this.last = ko.observable(last);
}
ko.applyBindings(new Test("Hello", "World"), $("#Element").get());
我一直收到这个
Uncaught Error: ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node
我试着只给它jQuery元素,但也没有用。我可以通过可视化和控制台测试确认$(“#元素”)是DOM的一部分。没有任何参数。$(“#元素”).get()执行以下操作(): 检索与jQuery对象匹配的DOM元素 因此,即使该数组只包含一个元素,它也会返回匹配元素的数组 因此,您需要使用重载,该重载获取一个索引:
ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
或为返回的数组编制索引:
ko.applyBindings(new Test("Hello", "World"), $("#Element").get()[0]);
jQuery的.get()函数不带参数,返回集合。如果只需要DOM节点引用,则需要将索引0传递给它,如下所示:
ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
试试这个
var Test = function(first, last){
this.first = ko.observable(first);
this.last = ko.observable(last);
}
ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
确保ID为“element”的DOM元素存在$(“#element”)
您使用的是'
和“
”。或者完全删除get()…$(“#element”)[0]…或者绕过jQuery并转到文档。getElementById('element')。。。博雅