backbone.js: 'instanceof' 的右侧不是对象
backbone.js: Right-hand side of 'instanceof' is not an object
我是 jquery 和 backbone 的新手,希望有人能帮我解决这个错误。我有一个 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
提前致谢
就我而言,我可以通过更改 main.js 来修复它。错误是,在某些情况下 backbone 在 jquery 加载之前加载。我的main.js是这样的
shim : {
'underscore' : {
exports: '_'
},
'backbone' : {
deps : ['underscore'],
exports: 'Backbone'
}
我必须在 backbone 中为 jquery 添加一个部门,就像这样
shim : {
'underscore' : {
exports: '_'
},
'backbone' : {
deps : ['jquery','underscore'],
exports: 'Backbone'
}
这个问题的主要原因是backbone.js在jQuery之前加载,所以你需要做的就是确保jQuery在backbone.js之前加载。
我是 jquery 和 backbone 的新手,希望有人能帮我解决这个错误。我有一个 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
提前致谢
就我而言,我可以通过更改 main.js 来修复它。错误是,在某些情况下 backbone 在 jquery 加载之前加载。我的main.js是这样的
shim : { 'underscore' : { exports: '_' }, 'backbone' : { deps : ['underscore'], exports: 'Backbone' }
我必须在 backbone 中为 jquery 添加一个部门,就像这样
shim : { 'underscore' : { exports: '_' }, 'backbone' : { deps : ['jquery','underscore'], exports: 'Backbone' }
这个问题的主要原因是backbone.js在jQuery之前加载,所以你需要做的就是确保jQuery在backbone.js之前加载。