Javascript 在typescript中的sammy js中声明路由
我想使用明确类型的sammyjs文件和typescript在我的页面上声明路由 声明的Javascript如下--> 到目前为止,我有这个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路由的正确方法吗?如果是,
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;
});