【问题标题】:How to fix 'this.stickit() is not a function' error in Backbone.stickit如何修复 Backbone.stickit 中的“this.stickit() 不是函数”错误
【发布时间】:2019-04-11 14:00:31
【问题描述】:

我正在尝试将backbone.stickit 与Marionette 一起使用,但不知何故它无法识别stickit 功能。我不断收到错误:

this.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;

我已经尝试过早期版本的骨干和木偶,但随后我收到另一个关于未找到“收音机”或其他问题的错误。希望有人能帮我解决this.stickit()不是函数错误。

提前致谢!

【问题讨论】:

    标签: backbone.js marionette backbone-stickit


    【解决方案1】:

    原来 Stickit 安装了最新版本的骨干网。因此安装了 2 个版本的骨干网(1.3.3 和 1.4.0)。这已通过向 package.json 添加分辨率来解决:

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

    【讨论】:

      猜你喜欢
      • 2019-12-25
      • 2021-06-12
      • 2019-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 2019-11-26
      • 2019-07-10
      相关资源
      最近更新 更多