javascript - 在 typescript 中的 sammy js 中声明路由

标签 javascript typescript sammy.js

我想结合使用明确类型的 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;
});

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

关于javascript - 在 typescript 中的 sammy js 中声明路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19395335/

相关文章:

javascript - 单片眼镜阅读器无法读取 25mb 大小的 pdf

javascript - Joomla 上 Javascript setInterval 函数的问题

javascript - 将canvas转换为html5中带有背景图像的图像

javascript - 使元素具有相同的高度在调整大小时不起作用

angularjs - jqyoui-draggable 中的 Angular 拖放传递参数

javascript - 无法从 Angular 中的响应数据分配数据

typescript - Angular 2 - 销毁子组件

javascript - 使用 sammy.js 将数据发布到 php 脚本

javascript - 在不触发 Sammy 事件的情况下更改哈希

javascript - Backbone.js - 其他提供集合的框架