导航可以通过Navigator使用命令式接口(如push和pop)来管理路由堆的增减。另外,Navigator还支持声明式接口,借助pages
属性配置页面列表,实现状态下路由器的表现形式。页面列表变动会引起路由堆变化。比如,添加新页面会在路由堆中增加对应路由,删除页面则相反。一个MaterialPage
配置页面,使用key
属性作为页面的唯一标识,以此判断处理哪一个页面。例如,设置为MaterialPage
的app home
作为首页小部件,而about
页面则显示about
小部件。页面列表里的页面标识不能重复。改变页面列表,如注释掉about
页面,导航器只会显示app home
。elsenaviga