"Хуудсыг өгөгдлийн хэлбэрээр харуулах, интерфейс нь Resolver-ээр дамжуулагдана."
`PageEntry`-д зөвхөн метадетатыг хадгалж бай. Баруулах үйлчилгээг ашиглан, тус бүр хуудсын түлхүүр бүрт тодорхой виджет-ийг холбож өг.
Засах боломжтой байдал.
"PageEntry" нь энгийн өгөгдөл юм тул, хөтлөх байдлыг бүртгэх, өөрчлөлтийг ажиглах, мөн дахин тоглуулах боломжтой.
Энгийн шийдэгдүүр.
"page.key" хуудсан дээрх тохиргоо нь мэдээллийг шууд дамжуулах болон шалгалтын зорилгоор ашиглах боломжийг хангадаг.
Энэ бол зөвхөн нэг чухал мэдээлэл байрладаг газар.
"Push" болон "pop" нь хуудсуудын доторх жагсаалтыг өөрчлөх үйл ажиллагаа бөгөөд энэ нь илүүдэл үр дүн биш юм.
Шийдэл олгох загвар.
Хуудсыг тус бүрийг нь тодорхойлох түлхүүр үсгээр бүтээн, хуудсын жагсаалтыг илэрхийлэлээр өөрчилж байх.
Хуудсын байдал, заглал.
Resolver-ийн жишээ.
Widget _buildPage(BuildContext context, PageEntry page) {
switch (page.key) {
case 'home':
return HomePage(onGoDetail: _goDetail);
case 'detail':
return const DetailPage();
default:
return const SizedBox.shrink();
}
}
void _goDetail() {
setState(() => _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')]);
}
Метадеталуудыг хязгаарлаж байх.
Бүү байрлуул. "Виджет"-ийн экземплүүдийг удирдах цэс рүү шилжүүлэх." мөн PageEntry-г зөвхөн мэдээлэл байдлаар хадгалж, үйлчилгээний ажиллагааны хялбар байдлыг хангахаар байлгах хэрэгтэй.
Өмнө.
Тайбендлэг.Дараах.
Дараалсан давхарга.