Cree el área de la barra de navegación principal MainTabBar.vue, aquí está en realidad el área de la barra de navegación Tabbar.vue en un componente independiente, deje que se muestre en MainTabBar, porque la implementación posterior de TabBarItem en el área de la barra de navegación, por lo que todos han sido extraídos Separación e independencia.
Hasta este punto, se ha creado un área de barra de navegación inferior, pero no hay contenido dentro, por lo que la altura de Tabbar.vue es 0 y no se puede ver ningún efecto. Solo agregue un poco de altura al estilo de Tabbar.vue . Sé cómo se ve el área de la barra de navegación ahora. Esta altura codificada de forma rígida se eliminará más adelante, y la barra de navegación será compatible con el contenido de TabBarItem
height: 50px;
② Luego crea TabBarItem, que es cada opción
Estas opciones deben insertarse en Tabbar.vue, por lo que Tabbar.vue debe establecer un espacio para que se pueda agregar cada elemento.
<slot></slot>
tabbar -> TabbarItem.vue
Pantalla: se ha configurado flex en la barra de navegación; aquí el elemento se establece en flex: 1; la altura del elemento se da a 49px, que es la altura de la barra de navegación habitual. Si hay una altura, la barra de navegación se puede abrir y se debe establecer el estilo del icono en el elemento.
La razón para usar espacios con nombre para imágenes y texto es que TabBarItem también es un componente separado separado. Al final, TabBar.vue y TabBarItem.vue serán referenciados y presentados en MainTabBar.
img 、 texto -> elemento de barra de pestañas ≈ barra de pestañas -> barra de pestañas principal -> Aplicación
Se hace referencia a estos dos componentes y se usan en MainTabBar.vue, y los parámetros se pasan a la subcapa, así que use accesorios para recibirlos en la subcapa:
La realización final del componente necesita: cada icono correspondiente a la barra de navegación y la página de visualización correspondiente
La ruta del icono la modifica usted mismo en MainTabBar.vue, si se requiere la página de visualización correspondiente, es necesario instalar y configurar vue-router
Aquí hay una combinación de carga diferida y configuración simple de dos páginas correspondientes, "Inicio" y "Categoría".