Maison > interface Web > js tutoriel > Utilisez vue-router pour créer la barre de navigation inférieure dans vue-cli (tutoriel détaillé)

Utilisez vue-router pour créer la barre de navigation inférieure dans vue-cli (tutoriel détaillé)

亚连
Libérer: 2018-06-02 17:38:20
original
4384 Les gens l'ont consulté

Cet article présente principalement le projet frontal mobile de la barre de navigation inférieure basé sur vue-cli vue-router. Le projet utilise principalement les connaissances liées à la mise en page Flex et aux fenêtres d'affichage, et a atteint l'objectif de s'adapter à chaque écran de terminal. Les amis qui en ont besoin peuvent se référer à

La première étape de l'apprentissage de vue.js pour éviter les pièges

1. Installez d'abord l'échafaudage vue-cli

Pas plus de détails, se réfèrent principalement à la route Vue pour gravir la fosse (1) - utilisez vue-cli pour construire le projet

2. Effet de présentation du projet

Site Web de présentation du projet : www.zhoupeng520.cn/index.html

Le projet utilise principalement la mise en page Flex et les connaissances liées aux fenêtres d'affichage, qui ont atteint l'objectif de s'adapter à chaque écran de terminal

3. Le répertoire principal du projet

4 Le code principal est le suivant

(1) App.vue

<template>
 <p id="app">
 <router-view class="view"></router-view>
 <p class="nav">
  <router-link class="nav-item" to="/langren">狼人杀</router-link>
  <router-link class="nav-item" to="/sanguo">三国杀</router-link>
  <router-link class="nav-item" to="/yingxiong">英雄杀</router-link>
 </p>
 </p>
</template>
<script>
</script>
<style>
 #app{
 height: 100%;
 display: flex;
 flex-direction: column;
 flex: 1;
 }
 .nav{
 height: 80px;
 line-height: 80px;
 display: flex;
 text-align: center;
 }
 .nav-item{
 flex: 1;
 text-decoration: none;
 }
 .nav-item:link,.nav-item:visited{
 background-color: white;
 color: black;
 }
 .nav-item:hover,.nav-item:active{
 color: white;
 background-color: #C8C6C6;
 }
</style>
Copier après la connexion
(2)main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from &#39;vue&#39;;
import VueRouter from &#39;vue-router&#39;;
import router from &#39;./router&#39;;
import App from &#39;./App&#39;;
Vue.config.productionTip = false;
Vue.use(VueRouter);
/* eslint-disable no-new */
new Vue({
 el: &#39;#app&#39;,
 router,
 template: &#39;</App>&#39;,
 render: h => h(App)
});
Copier après la connexion
(3)index.js //Voici la configuration du routage

Cela peut être écrit directement dans main.js ou comme moi. Ils sont également introduits dans main.js, chacun a ses propres avantages

import Vue from &#39;vue&#39;;
import VueRouter from &#39;vue-router&#39;;
Vue.use(VueRouter);

const router = new VueRouter({
 routes: [{
  path: &#39;/langren&#39;,
  component: require(&#39;../components/vue/langren.vue&#39;)
 }, {
  path: &#39;/sanguo&#39;,
  component: require(&#39;../components/vue/sanguo.vue&#39;)
 }, {
  path: &#39;/yingxiong&#39;,
  component: require(&#39;../components/vue/yingxiong.vue&#39;)
 }, {
  path: &#39;/&#39;,
  component: require(&#39;../components/content/content.vue&#39;)
 }]
});
export default router;
Copier après la connexion
Vous pouvez également écrire directement un routers.js et le placer dans le src directory

(4)router.js

import langren from &#39;./components/vue/langren.vue&#39;;
import sanguo from &#39;./components/vue/sanguo.vue&#39;;
import yingxiong from &#39;./components/vue/yingxiong.vue&#39;;
const routers = [
 {
  path: &#39;/langren&#39;,
  component: langren
 },
 {
  path: &#39;/sanguo&#39;,
  component: sanguo
 },
 {
  path: &#39;/yingxiong&#39;,
  component: yingxiong
 }
];
export default routers;
Copier après la connexion
(5)content.vue

<template>
 <p class="content"><p>我是content!</p></p>
</template>
<script type="text/ecmascript-6">
 export default {};
</script>
<style lang="stylus" rel="stylesheet/stylus">
 .content
  height:100%
  background:blue
  flex:1
  display:flex;
  justify-content:center
  align-items:center
</style>
Copier après la connexion

Le code est le même que celui-ci, seules la couleur et les champs en p ont été modifiés. langren.vue / sanguo.vue / yingxiong.vue

C'est tout pour le code principal.

5. Notez également les principales erreurs rencontrées et leurs solutions

(1) Puisqu'il est utilisé pour la grammaire es6, vous devez suivre certaines de ses règles grammaticales. , donc certains codes nécessitent une ligne vierge supplémentaire à la fin, certains doivent ajouter des points-virgules et certains doivent ajouter des espaces. Apportez des modifications en fonction du rapport d'erreur

(2) semi//indent//no-. rapport d'erreur des onglets, modifiez le code dans .eslintrc.js comme suit, en ajoutant principalement les dernières lignes.

// http://eslint.org/docs/user-guide/configuring
module.exports = {
 root: true,
 parser: &#39;babel-eslint&#39;,
 parserOptions: {
 sourceType: &#39;module&#39;
 },
 env: {
 browser: true,
 },
 // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
 extends: &#39;standard&#39;,
 // required to lint *.vue files
 plugins: [
 &#39;html&#39;
 ],
 // add your custom rules here
 &#39;rules&#39;: {
 // allow paren-less arrow functions
 &#39;arrow-parens&#39;: 0,
 // allow async-await
 &#39;generator-star-spacing&#39;: 0,
 // allow debugger during development
 &#39;no-debugger&#39;: process.env.NODE_ENV === &#39;production&#39; ? 2 : 0,
 &#39;semi&#39;: [&#39;error&#39;, &#39;always&#39;],
 &#39;indent&#39;: 0,
 &#39;space-before-function-paren&#39;: 0,
 "no-tabs":"off"
 }
}
Copier après la connexion
J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles associés :

Exemple détaillé d'interaction entre Servlet3.0 et javascript pur via Ajax

Comment remplacer les éléments de nœud par jQuery

Tutoriel détaillé sur l'utilisation d'Angular CLI pour générer des projets Angular 5

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