所以,我正在使用 Backbone 创建一个基本视图,当我去运行它时,我得到这个 TypeError:
Uncaught TypeError: Right-hand side of instanceof is not an object
错误是在backbone.min.js
文件中以及程序中第18行中引用了多个点。这是代码:
<!DOCTYPE HTML>
<HTML>
<HEAD>
<META CHARSET="UTF-8" />
<TITLE>First View</TITLE>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<SCRIPT LANGUAGE="Javascript">
var PokeView = Backbone.View.extend({
render: function() {
this.$el.html("Simisage");
return this;
}
});
var myPokeView = new PokeView({ el: "#paragraph" });
console.log(myPokeView instanceof Object);
myPokeView.render();
</SCRIPT>
</HEAD>
<BODY>
<p id="paragraph"></p>
</BODY>
我一直在寻找互联网,有些人遇到了同样的错误,但它与 Backbone 无关。Backbone的解决方案与其他解决方案一样吗?我怎样才能解决这个问题?
仔细阅读依赖列表,对于1.0.0 版本的 Backbone是:
Backbone唯一的硬依赖性是Underscore.js(> = 1.4.3)。对于 RESTful 持久性,通过 Backbone.Router 的历史支持和使用 Backbone.View 的 DOM 操作,包括json2.js和jQuery (>= 1.7.0) 或Zepto。
对于1.3.3 版:
Backbone 唯一的硬依赖项是Underscore.js ( >= 1.8.3)。对于使用Backbone.View 的RESTful 持久性和 DOM 操作,包括jQuery (>= 1.11.0) 和json2.js以支持较旧的 Internet Explorer。(Underscore和 jQuery API 的模仿物,例如Lodash和Zepto,也将趋于有效,但具有不同程度的兼容性。)
因此,在您共享的代码中,似乎缺少 jQuery。只需将它包含在其他库之前,您就应该准备好使用 Backbone。
另外,请注意,在执行该脚本片段时,您正在使用文档中尚不存在的带有元素的视图el
选项#paragraph
。要解决此问题,请将脚本标记放在正文的底部。
<html>
<head>
<meta charset="UTF-8" />
<title>First View</title>
</head>
<body>
<p id="paragraph"></p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone.js"></script>
<script>
var PokeView = Backbone.View.extend({
render: function() {
this.$el.html("Simisage");
return this;
}
});
var myPokeView = new PokeView({ el: "#paragraph" });
console.log(myPokeView instanceof Object);
myPokeView.render();
</script>
</body>
</html>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句