如何修复Backbone.stickit

时间:2019-04-11 14:00:31

标签: backbone.js marionette backbone-stickit

我正在尝试将Marionette与Marionette结合使用,但是不知何故它无法识别Stickit函数。我不断收到错误消息:

  

this.stickit()不是函数

我正在使用主干网1.3.3 木偶2.4.7 stickit 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()不是函数错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

结果表明Stickit安装了最新版本的主干。因此,安装了2个主干版本(1.3.3和1.4.0)。通过在package.json中添加分辨率可以解决此问题:

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