Магистральный маршрутизатор не распознан - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь создать Маршрутизатор для магистрали, и я хочу написать его как класс с es6, поэтому я выступил с этим в качестве теста:

class MyRouter extends Backbone.Router {
  constructor() {
    super(arguments);
  }

  routes = {
    "*path": "error"
  }

  error(path) {
    console.log("in myRouter error")
    this.trigger("component", {
      content: require("./error404/")(path)
    });
    return this.setRoute("error");
  }
}

module.exports = new MyRouter();

Однако по какой-то причине он не распознается Backbone, поэтому вопрос в том, что я что-то упустил? Нужно ли указывать магистрали использовать мой конкретный маршрутизатор?

1 Ответ

0 голосов
/ 08 июля 2019

Оказывается, ошибка была довольно простой.Вам нужно позвонить по супер с маршрутами, т.е.

class MyRouter extends Backbone.Router {
  constructor(options) {
    super({ routes: { "*path": "error" }, ...options });
  }

  initialize() {
    this.prev = undefined;
  }

  setRoute(route) {
    this.prev = route;
  }

  error(path) {
    this.trigger("component", {
      content: require("./error404/")(path)
    });
    return this.setRoute("error");
  }
}

let router = new MyRouter();
module.exports = router;
...