滑动事件:无法访问组件

Swipe Event : no access to the Component

按照教程,我正在开发我的第一个应用程序。在这个应用程序中,我想实现滑动导航。 但是我遇到了一个问题:我无法访问我的组件对象。

我正在使用 NativeScript + Angular。

constructor(
    private _router: Router
    , private _routeParams: RouteParams
    , private _signalListService: SignalListService
    , private _page : Page
) {
    console.log('ViewPageConstructor : ' + this);
    this.itemId = this._routeParams.get("id");

    this._page.on("swipe", function(args: gestures.SwipeGestureEventData) {
        console.log("Swipe Direction From event function: " + args.direction);
        console.log(args);  // [object Object]
        console.log(_page); // Page(148)
        console.log(this);  // undefined
        this.swipe(args); // Nothing happen ... no error ...
    });
}

swipe(args: gestures.SwipeGestureEventData) {
     console.log("Swipe Direction From event function: " + args.direction);
     this._router(...
}

我从来没有使用过滑动功能。命令日志中没有错误...

谢谢

关闭.. this 在你的滑动事件中不是来自你的构造函数的 this . 您可以为我们做什么 "cache" 您的构造函数参考:

export class AppComponent  {

    constructor(private page: Page) {

        var that = this;

        this.page.on("swipe", function(args: gestures.SwipeGestureEventData) {
            console.log("Swipe Direction From event function: " + args.direction);

            that.onSwipe(); 
        })
    }

    public onSwipe() {
        console.log("onSwipe triggered");
    }
}