我想结合使用绝对类型化的sammyjs文件和typescript在我的页面上声明路由
声明的Javascript看起来像这样->
Sammy(function () {
this.get('#:foobar', function () {
//doStuff
var baz = this.params.foobar;
});
this.get('', function () { this.app.runRoute('get', '#All') });
}).run();
到目前为止,我有这个。
var app: Sammy.Application = Sammy();
app.get('#:foobar', () => {
//doStuff
var baz = this.params.foobar;
});
显然,params不在“this”的上下文中,因此我的问题更加详细。.这是定义sammy路线的正确方法吗?如果是,那么我如何访问婴儿车。
最佳答案
我怀疑您遇到的问题是,您正在使用胖箭头语法(保留了您的词汇范围)来覆盖Sammy的范围。
var app: Sammy.Application = Sammy();
app.get('#:foobar', function () {
//doStuff
var baz = this.params.foobar;
});
通过使用“函数”而不是“()=>”,可以避免范围保留,并允许Sammy像往常一样工作。