- 我们可以动态修改应用的页面列表和路由堆栈,基于应用的状态和配置。
- 如果应用中的配置项
name
的值为about
,则会向页面列表中添加一个about
页面;如果不是,则该页面不出现。 - 需要创建一个名为
app model.dart
的模型类,该类继承ChangeNotifier
,带有名为pageName
的属性和setPageName
方法,用于更新pageName
值并通知监听者。 - 使用
Provider
提供AppModel
实例,多种实例可以通过MultiProvider
提供。 - 在
Navigator
组件中,需要依据AppModel
的pageName
值来决定是否包含about
页面。 - 当
AppModel
中的name
配置为空时,显示AppHome
组件;当手动修改为about
并重启调试时,页面列表会包含about
页面,对应的路由和组件也会更新,显示about
组件;若将配置改回空白字符,应用将显示AppHome
组件。