Как исправить ошибку «this.stickit () не является функцией» в Backbone.stickit - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь использовать backbone.stickit вместе с Marionette, но почему-то он не распознает функцию stickit.Я получаю сообщение об ошибке:

this.stickit () не является функцией

Я использую версии Backbone 1.3.3 , Марионетка 2.4.7 и stickit 0.9.2 .Я пробовал старые и новые версии Backbone и Marionette, но это не решает проблему.Я вызываю функцию this.stickit() в onRender, я также пытался использовать ее в 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 голосов
/ 11 апреля 2019

Оказывается, что Stickit устанавливает последнюю версию магистрали.Таким образом, было установлено 2 версии магистрали (1.3.3 и 1.4.0).Это было решено добавлением разрешения в package.json:

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