[英]Where is the Backbone error coming from?
因此,我正在使用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.b版本的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了。
另外,请注意,您正在使用带有#paragraph
元素的视图的el
选项 ,该元素在执行该脚本代码段#paragraph
不存在于文档中。 要解决此问题,请将script标签放置在正文的底部。
<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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.