我正在尝试将基本的 Backbone.js 路由器声明转换为 TypeScript。
var AppRouter = Backbone.Router.extend({
routes: {
"*actions": "defaultRoute"
},
defaultRoute: function () {
document.write("Default Route Invoked");
}
});
var app_router = new AppRouter();
Backbone.history.start();
我转换后的代码如下,但不起作用:
class AppRouter extends Backbone.Router {
routes = {
"*actions": "defaultRoute"
}
defaultRoute() {
document.write("Default Route Invoked");
}
}
var app_router = new AppRouter();
Backbone.history.start();
我没有收到编译时或运行时错误,但代码无法运行。为什么?
最佳答案
我看过 Backbone.Router.extends
,它不是基本的原型(prototype)扩展 - 所以你不能直接从 Backbone.Router.extends
切换code> 到 TypeScript 类扩展。
我会更改您的 TypeScript 文件,使其看起来更像您的原始 JavaScript - 您仍然可以获得智能感知和类型检查的好处 - 您只是没有使用类:
var AppRouter = Backbone.Router.extend({
routes: {
"*actions": "defaultRoute"
},
defaultRoute: function () {
document.write("Default Route Invoked");
}
});
var app_router = new AppRouter();
Backbone.history.start();
关于backbone.js - Backbone 路由在转换为 TypeScript 时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594996/