我是jquery和骨干的新手,希望有人可以帮我解决这个错误。我有一个Web应用程序,有时会在控制台中抛出此错误
require.js:900 TypeError: Right-hand side of 'instanceof' is not an object at child.setElement (backbone.js?__nc__=1527837925799:1040) at child._ensureElement (backbone.js?__nc__=1527837925799:1102) at child.Backbone.View (backbone.js?__nc__=1527837925799:990) at child [as constructor] (backbone.js?__nc__=1527837925799:1545) at new child (backbone.js?__nc__=1527837925799:1545) at child.initialize (application.js?__nc__=1527837925799:357) at child.Inditex.Application (backbone-inditex-1.2.0.js?__nc__=1527837925799:27) at new child (backbone.js?__nc__=1527837925799:1545) at createApp (main.js:201)
at Object.execCb (require.js:1690)
如果发生此错误,重新加载网页是固定的(有时会有3到4次),但我不知道为什么会这样。
我找到了引发此错误的行。在backbone.js文件中,方法setElement
setElement: function(element, delegate) { debugger; if (this.$el) this.undelegateEvents(); this.$el = element instanceof Backbone.$ ? element : Backbone.$(element); this.el = this.$el[0]; if (delegate !== false) this.delegateEvents(); return this; },
有时,Backbone。$不是一个对象,而且是错误的时候。
¿任何解决此错误的想法?我正在使用backbone.js 1.1.0
提前致谢
答案 0 :(得分:2)
就我而言,我可以修改它改变我的main.js.错误是,在某些情况下,在加载jquery之前加载了主干。我的main.js就像这样
垫片:{ '下划线' :{ 出口:' _' }, '骨干' :{ deps:['下划线'], 出口:' Backbone' }
我必须在jquery的骨干中添加一个deps,比如这个
垫片:{ '下划线' :{ 出口:' _' }, '骨干' :{ deps:[' jquery','下划线'], 出口:' Backbone' }
答案 1 :(得分:0)
此问题的主要原因是在jQuery之前加载了ribs.js,因此您需要做的就是确保jQuery在ribs.js之前加载。