您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flutter Navigator.of(context).pop与Navigator.pop(context)的区别

Flutter Navigator.of(context).pop与Navigator.pop(context)的区别

导航器用于管理应用程序的页面堆栈(路线)。将给定的路线推送到屏幕上(导航器)时,我们需要获取正确的导航器,然后进行推送。

Navigator.of(context).push(route)拆分.of(context)获取正确的Navigator和.push(route)Navigator.of(context)具有可选参数,如果rootNavigator设置为true,则从最远的位置开始给出NavigatorState。

  static NavigatorState of(
    BuildContext context, {
    bool rootNavigator = false,
    bool nullOk = false,
  })

Navigator.push(context, route)是静态方法,并且两者都同时执行。内部调用Navigator.of(context).push(route)。导航器最紧密地包围了给定的上下文。

static Future<T> push<T extends Object>(BuildContext context, Route<T> route) {
    return Navigator.of(context).push(route);
}

pop()与相似push()

当多个导航器嵌套在App中时。showDialog(...)方法创建的对话框路由被推送到根导航器。如果应用程序具有多个Navigator对象,则可能有必要调用Navigator.of(context, rootNavigator: true).pop(result)关闭对话框,而不仅仅是Navigator.pop(context, result)

其他 2022/1/1 18:24:20 有506人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶