logo

该视频仅会员有权观看

立即开通课程「Flutter 移动端应用开发实践」权限。

¥
199
/ 年

应用状态变化时通知 Router 重建 Navigator

  • 在应用中打开练习并点击查看内容时,名字在app model配置中被设置,但about页面没有显示。
  • 这是因为应用状态已变化,但没有通知路由器,因此没有调用方法构建新的app model。
  • 应解决这个问题,可以给app model添加监听器,当它变化时去通知路由器状态变化。
  • 在air pro t delegate构造函数中,使用add listener在app model上添加监听器并提供notify listeners。
  • 当app model变化时,会执行notify listeners,路由器会收到应用状态变化通知,并调用方法构建新的navigator。
  • 可以通过dispose方法删除监听器,在lay里面使用remove listener取消app model的监听并提供notify listeners。
  • 使用模拟器测试后,点击查看内容会显示about页面,返回按钮将回到上一页,状态变化时通知路由器构建正确的navigator。
  • 最终about页面显示对应的界面组件。