zoukankan      html  css  js  c++  java
  • Vue-router

    1、根文件:index.html

      其中的 <div id="app"> 为整个单页的挂载点

    2、转接文件:main.js

      创建Vue并接入vue-router

      一般为:

      

    import Vue from 'vue'
    import App from './App.vue'     //模板文件   
    import router from '@/router.js'  //导入编辑router文件
     
    import '@assets/css/app.css'      //样式文件
     
    new Vue({
        router,
        render: h => h(App)
    }).$mount('#app')

     3、路由控制文件:router.js

    import Vue from 'vue'
    import Router from 'vue-router'
    
    Vue.use(Router)
    
    import home from '@/components/home.vue'
    import about from '@/components/about.vue'
    import document from '@/components/document.vue'
    
    var router = new Router({
      mode: 'history',
      routes:[
        {
          path:'/home',
          component: home
        },
        {
          path:'/about',
          component: about
        },
        {
          path:'/document',
          component: document
        }
      ]
    });
    
    
    
    export default router

    4、主模板:App.vue

    <template>
      <div id="app">
        <!-- <img src="./assets/logo.png"> -->
        <div class="nav-box">
          <ul class="nav">
            <li>
              <router-link to="/home">home</router-link>
            </li>
            <li>
              <router-link to="/document">document</router-link>
            </li>
            <li>
              <router-link to="/about">about</router-link>
            </li>
          </ul>
        </div>
        <router-view></router-view>
      </div>
    </template>
    <script type="text/javascript">
      export default{
        name:'app'
      }
    </script>
    <style>
    </style>

    笔记:

    1、一般高版本浏览器,html5支持history的用history模式

    2、动态绑定<router-link> ----App.vue  文件中

     

    export default{
        name:'app',
        data(){
          return {
            index: '/home'
          }
        }
      }

      原本:<router-link to="/home" tag="div">home</router-link>

      直接动态绑定:<router-link :to="index">home</router-link>

      对象:<router-link :to="{ path:'/home' }">home</router-link>

    默认<router-link> 生成的是  <a>  标签,在设置tag="div" 后,生成div标签

    <router-link>变为li,<router-link :to="index" tag="li"><i></i><span>home</span></router-link>

    3、路由中   router.js

    linkActiveClass : 'is-active'  该属性设置自定义选中class名,如果页面上某个<router-link>被选中,则会加上"is-active"的class样式

    此样式在css文件中写,也可以设置行间样式 ==>  active-class="activeClass"    

    <router-link :to="{path:'/document'}" active-class="activeClass">document</router-link>  ,其他的<router-link>标签被选中会加上'is-active'样式,这个则会加上 "activeClass"样式

    4、<router-link>本身是鼠标点击时进行切换,现改成鼠标移入进行切换

    <router-link event="mouseover">

    5、如果路由路径未匹配到已有页面

    在routes中配置

    routes:[{

        path: '*',  // * 未通配符

        component: noFound  //404页面(自己写的)

    }]

    6、重定向

    routes:[{

     path: '/home',

       name: 'Home',

       componet: home    //import项

       }{

        path: '*',  // * 未通配符

        //重定向

     //redirect: '/home'

       //redirect: { path: '/home' }

       //redirect: { name: 'Home' }

       //函数

     redirect: (to) =>{  //动态设置重定向的目标

      //目标量路由对象,就是访问的路径的路由信息

      //console.log(to);

      //return '/home';

     

      if( to.path === '/123' ){
        return '/home';
      }else if(to.path === '/456'){
        return {path : '/document'}
      }else{
        return {name: 'About'}
      }

     }

    }]

      

  • 相关阅读:
    Zend Framework 2.1.5 中根据服务器的环境配置调用数据库等的不同配置
    在基于 Eclipse 的 IDE 中安装和使用 Emmet(ZenCoding)
    【翻译】Emmet(Zen Coding)官方文档 之六 自定义 Emmet
    【翻译】Emmet(Zen Coding)官方文档 之二 缩写
    【翻译】Emmet(Zen Coding)官方文档 之七 一览表
    【翻译】Emmet(Zen Coding)官方文档 之三 CSS 缩写
    【翻译】Emmet(Zen Coding)官方文档 之四 动作
    【翻译】Emmet(Zen Coding)官方文档 之一 web 编程的必备工具
    Zend Framework 2 时区设置警告问题的解决
    【翻译】Emmet (Zen Coding) 元素类型
  • 原文地址:https://www.cnblogs.com/haishen/p/10063135.html
Copyright © 2011-2022 走看看