backbone.js:“instanceof”的右侧不是对象

clj7thdc  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(111)

我是jquery和backbone的新手,希望有人能帮助我解决这个错误。我有一个Web应用程序,有时,在控制台抛出这个错误
第一个
如果发生这种错误,与网页的重新加载是固定的(有时与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
先谢谢你

xlpyo6sf

xlpyo6sf1#

在我的例子中,我可以修改我的main.js来修复它。错误是,在某些情况下,在加载jquery之前加载了backbone。
shim:{“下划线”:{导出:'' },' Backbone.js ':{ deps:['下划线'],导出:' Backbone.js ' }
我不得不在jquery的 Backbone.js 中添加一个deps,如下所示
shim:{“下划线”:{导出:'
' },' Backbone.js ':{ deps:['jquery','下划线'],导出:' Backbone.js ' }

5sxhfpxr

5sxhfpxr2#

出现此问题的主要原因是backbone.js先于jQuery加载,因此您需要做的只是确保jQuery先于backbone.js加载。

相关问题