如何修复Backbone.stickit中的“this.stickit()不是函数”错误

thtygnil  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(101)

我尝试将backbone.stickit与Marionette一起使用,但不知何故,它无法识别stickit功能。我一直收到错误:
此.stickit()不是函数
我使用的是Backbone 1.3.3Marionette 2.4.7stickit 0.9.2版本。我尝试过Backbone和Marionette的旧版本和新版本,但都没有解决问题。我调用了onRender中的this.stickit()函数,我也试过在onShow中使用它,但没有运气。我也有一个onDestroy函数,我在那里使用this.unstickit(),它不会给予任何错误。有人知道是什么导致了这个问题吗?

import { ItemView } from 'backbone.marionette';
import 'backbone.stickit';
import template from './test.html';

const TestView = ItemView.extend({

  template,

  bindings: {
    '#input-name': 'name',
    '#label-name': 'name'
  },

  onRender() {
    this.stickit();
  },

  onDestroy() {
    this.unstickit();
  }

});

export default TestView;

我已经尝试了早期版本的 Backbone 和牵线 puppet ,但后来我得到另一个错误的“电台”没有找到或什么。我希望有人可以帮助我解决this.stickit()不是一个函数错误。
提前感谢!

bvk5enib

bvk5enib1#

原来Stickit安装了最新版本的backbone,所以安装了两个版本的backbone(1.3.3和1.4.0),这个问题已经通过在package.json中添加一个解决方案得到了解决:

"resolutions": {
    "backbone.stickit/backbone":"1.3.3"
  }

相关问题