我正在尝试为骨干网创建一个路由器,并且希望将其与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无法识别它,所以问题是,我遗漏了什么吗? 我必须告诉骨干网使用我的特定路由器吗?
答案 0 :(得分:0)
原来的错误非常简单。您需要使用路由 调用超级,即
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;