Maison > interface Web > js tutoriel > le corps du texte

Comment implémenter la barre de navigation en utilisant vue

亚连
Libérer: 2018-06-20 18:29:28
original
5128 Les gens l'ont consulté

Cet article présente principalement en détail la méthode d'implémentation de la barre de navigation dans le projet vue. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Chaque projet de page Web est indispensable pour la barre de navigation. peut être écrit via la méthode originale. Mais si vous souhaitez écrire du code avec moins de code et une faible redondance, vous devez utiliser votre cerveau pour y réfléchir.

J'ai récemment écrit un projet Baidu Map, qui nécessite une barre de navigation en bas. Les détails sont les suivants :

Tout d'abord, nous avons obtenu toutes les images d'icônes dans la barre de navigation inférieure. Il existe deux types d'images. Les gris représentent les images non sélectionnées et celles sélectionnées sont remplacées par des images avec des exemples de couleurs.

Jetons d'abord un coup d'œil à la structure html du composant : utilisez la méthode v-for fournie par vue pour parcourir et afficher le tableau footNav. Le tableau contient {title: "Bank", url: " ", url1: " "} Liez le src de l'image à isSelect et jugez s'il est égal au titre actuel, la navigation actuelle est sélectionnée et affichée. . URL de l'image1 lorsqu'elle est sélectionnée.

<p class="footer">
 <ul>
 <li v-for="item in footNav" @click="selectMapNav(item.title)">
  <img :src="isSelect === item.title ? item.url1 : item.url" alt="">
  <p>{{item.title}}</p>
 </li>
 </ul>
</p>
Copier après la connexion

Les styles sont moins écrits dans le langage des extensions, donc tout le monde devrait pouvoir les comprendre, ils sont simplement imbriqués. Ajoutez une largeur de 100 % et une hauteur fixe à cette zone. Comme il doit être affiché en bas, un positionnement et une couleur d'arrière-plan fixes sont ajoutés. J'écris un projet mobile et les navigateurs sont relativement nouveaux, il n'est donc pas nécessaire de prendre en compte les problèmes de compatibilité. La disposition flexible et audacieuse peut facilement implémenter la barre de navigation.

.footer ul{
 width:100%;
 height:50px;
 position:fixed;
 bottom:0;
 z-index:1;
 background-color:#fff;
 display:flex;
 li{
 text-align:center;
 flex:1;
 img{height:23px;width:23px;margin-top:5px;}
 p{font-size:0.1rem;height:15px;line-height:10px;}
 }
}
Copier après la connexion

Définir un tableau dans vue data(), qui stocke le titre de chaque navigation, tel que 'Banque', l'url de l'image affichée lorsqu'elle n'est pas sélectionnée, et l'url de l'image lorsqu'elle est sélectionnée . isSelect indique celle actuellement sélectionnée et la banque est sélectionnée par défaut.

isSelect: &#39;银行&#39;,
footNav: [{title: &#39;银行&#39;, url: &#39;../../../static/baiduMap/23@2x.png&#39;, url1: &#39;../../../static/baiduMap/22@2x.png&#39;},
 {title: &#39;公交 &#39;, url: &#39;../../../static/baiduMap/11@2x.png&#39;, url1: &#39;../../../static/baiduMap/10@2x.png&#39;},
 {title: &#39;地铁 &#39;, url: &#39;../../../static/baiduMap/13@2x.png&#39;, url1: &#39;../../../static/baiduMap/12@2x.png&#39;},
 {title: &#39;教育 &#39;, url: &#39;../../../static/baiduMap/15@2x.png&#39;, url1: &#39;../../../static/baiduMap/14@2x.png&#39;},
 {title: &#39;医院 &#39;, url: &#39;../../../static/baiduMap/17@2x.png&#39;, url1: &#39;../../../static/baiduMap/16@2x.png&#39;},
 {title: &#39;休闲 &#39;, url: &#39;../../../static/baiduMap/19@2x.png&#39;, url1: &#39;../../../static/baiduMap/18@2x.png&#39;},
 {title: &#39;购物 &#39;, url: &#39;../../../static/baiduMap/21@2x.png&#39;, url1: &#39;../../../static/baiduMap/20@2x.png&#39;}
]
Copier après la connexion

Dans la méthode méthodes, écrivez l'événement appelé en html. Grâce à l'événement click selectMapNav(item.title) dans la couche de structure HTML, le titre transmis est attribué à isSelect pour réaliser le changement de l'état de clic de la barre de navigation.

selectMapNav (title) {
 this.isSelect = title }
Copier après la connexion

Regardons le résultat final, il est parfait.

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

Explication de la portée de la portée dans angulairejs

Comment obtenir un ordre de chargement hautes performances en javascript

Comment implémenter l'enregistrement global dans axios

Comment implémenter le saut de vérification de connexion à l'aide de Vue+Flask (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!