Javascript 在typescript中的sammy js中声明路由

Javascript 在typescript中的sammy js中声明路由,javascript,typescript,sammy.js,Javascript,Typescript,Sammy.js,我想使用明确类型的sammyjs文件和typescript在我的页面上声明路由 声明的Javascript如下--> 到目前为止,我有这个 var app: Sammy.Application = Sammy(); app.get('#:foobar', () => { //doStuff var baz = this.params.foobar; }); 显然,params不在“this”的上下文中,因此我更详细的问题是。。这是定义sammy路由的正确方法吗?如果是,

我想使用明确类型的sammyjs文件和typescript在我的页面上声明路由

声明的Javascript如下-->

到目前为止,我有这个

var app: Sammy.Application = Sammy();
app.get('#:foobar', () => {
    //doStuff 
    var baz = this.params.foobar;
});

显然,params不在“this”的上下文中,因此我更详细的问题是。。这是定义sammy路由的正确方法吗?如果是,那么我如何访问婴儿车。

我怀疑您的问题是,您正在使用fat arrow语法覆盖sammy的范围(保留您的词法范围)


通过使用“function”而不是“()=>”可以避免范围保留,并允许Sammy像往常一样工作。

您可以将lambda与参数一起使用

var-app:Sammy.Application=Sammy();
app.get('#:foobar',context=>{
//多斯塔夫
var baz=context.params.foobar;

});谢谢。您已接近在作用域函数()上使用函数的解决方案()=>{}。。。但正如文档所示,剥猫皮的方法不止一种,这是在Typescript中使用Sammy的正确解决方案。谢谢
var app: Sammy.Application = Sammy();
app.get('#:foobar', () => {
    //doStuff 
    var baz = this.params.foobar;
});
var app: Sammy.Application = Sammy();
app.get('#:foobar', function () {
    //doStuff 
    var baz = this.params.foobar;
});