NativeScript + angular 2:使用后退按钮单击侦听器

时间:2016-06-27 09:54:36

标签: android angular nativescript angular2-nativescript

我正在使用 NativeScript + Angular 2 开发跨平台移动应用程序。

我想处理当前视图的后退按钮点击,即当用户点击Android设备中的后退按钮时,我想执行像从堆栈中删除/删除当前视图的操作。

对于ex:在android平台(Native Development)中,我们可以使用活动的finish()方法将其从堆栈中删除。我们可以处理onBackPressed(),如 -

@Override
public void onBackPressed()
{
    finish();  //Removes current Activity from stack
}

那么有没有办法在 NativeScript + angular 2 中处理onBackPressed()finish()方法?我搜索了很多,但没有找到任何解决方案,并在NativeScript + Angular 2中尝试了 Frame.goBack() ,但对我没有用。它在NativeScript + JavaScript中运行良好。

更新

我想从堆栈中永久删除视图,因为在应用程序中不再需要它。它应该在应用安装时首次显示。

例如:

喜欢登录屏幕

1)当安装应用程序时,应显示登录屏幕,并在下次启动应用程序时,应用程序将自动跳过登录屏幕并移至主屏幕(此工作正常)

2)但问题是当我从主屏幕按回按钮然后应用程序每次导航到登录屏幕,因为登录屏幕仍然存在于堆叠中。这就是我想从堆栈中永久删除登录屏幕的原因。

1 个答案:

答案 0 :(得分:3)

您需要实施的内容是注入位置并使用方法返回()

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    guard let nextView = storyboard?.instantiateViewControllerWithIdentifier("InterestViewController") as? InterestViewController else {return}
    nextView.detailImages = detailImages
    navigationController?.pushViewController(nextView, animated: true)
}

此时,当用户返回时,您不必担心明确销毁视图,因为没有可用于移动的移动选项"转发"