滑动事件:无法访问组件
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");
}
}
按照教程,我正在开发我的第一个应用程序。在这个应用程序中,我想实现滑动导航。 但是我遇到了一个问题:我无法访问我的组件对象。
我正在使用 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");
}
}