NativeScript + angular 2 : 后退按钮点击监听器的使用
NativeScript + angular 2 : Use of back button click listener
我正在使用 NativeScript + Angular 2.
开发跨平台移动应用程序
我想处理当前视图的后退按钮单击,即当用户单击 android 设备中的后退按钮时,我想执行诸如从堆栈中删除/删除当前视图的操作。
例如: 在 android 平台(本地开发)中,我们可以使用 activity 的 finish()
方法将其从堆。我们可以像 -
这样处理 onBackPressed()
@Override
public void onBackPressed()
{
finish(); //Removes current Activity from stack
}
那么在NativeScript + angular 2中有什么方法可以处理onBackPressed()
和finish()
方法吗?我在谷歌上搜索了很多但没有找到任何解决方案,还尝试了 Frame.goBack()
in NativeScript + Angular 2,但对我没有用。它在 NativeScript + JavaScript.
中运行良好
更新
我想从堆栈中永久删除视图,因为应用程序不再需要它。它应该在应用程序安装时第一次显示。
例如:
喜欢登录屏幕
1) 安装应用程序时应显示登录屏幕,下次启动应用程序时,应用程序将自动跳过登录屏幕并移至主屏幕(这工作正常)
2) 但问题是,当我从主屏幕按下后退按钮时,应用程序每次都会导航到登录屏幕,因为登录屏幕仍然存在于 STACK 中。所以这就是为什么我想从堆栈中永久删除登录屏幕。
你需要实现返回的是注入 Location 并使用方法 back()
import {Location} from '@angular/common';
@Component({ ... })
export class MyComponent {
constructor(private location: Location) { }
public goBack() {
this.location.back();
}
}
此时当用户返回时,您不必担心会显式破坏视图,因为没有用于返回的移动选项"forward"
我正在使用 NativeScript + Angular 2.
开发跨平台移动应用程序我想处理当前视图的后退按钮单击,即当用户单击 android 设备中的后退按钮时,我想执行诸如从堆栈中删除/删除当前视图的操作。
例如: 在 android 平台(本地开发)中,我们可以使用 activity 的 finish()
方法将其从堆。我们可以像 -
@Override
public void onBackPressed()
{
finish(); //Removes current Activity from stack
}
那么在NativeScript + angular 2中有什么方法可以处理onBackPressed()
和finish()
方法吗?我在谷歌上搜索了很多但没有找到任何解决方案,还尝试了 Frame.goBack()
in NativeScript + Angular 2,但对我没有用。它在 NativeScript + JavaScript.
更新
我想从堆栈中永久删除视图,因为应用程序不再需要它。它应该在应用程序安装时第一次显示。
例如:
喜欢登录屏幕
1) 安装应用程序时应显示登录屏幕,下次启动应用程序时,应用程序将自动跳过登录屏幕并移至主屏幕(这工作正常)
2) 但问题是,当我从主屏幕按下后退按钮时,应用程序每次都会导航到登录屏幕,因为登录屏幕仍然存在于 STACK 中。所以这就是为什么我想从堆栈中永久删除登录屏幕。
你需要实现返回的是注入 Location 并使用方法 back()
import {Location} from '@angular/common';
@Component({ ... })
export class MyComponent {
constructor(private location: Location) { }
public goBack() {
this.location.back();
}
}
此时当用户返回时,您不必担心会显式破坏视图,因为没有用于返回的移动选项"forward"