• vue路由基础总结


    1.创建项目

    为了练习路由 这里没有选择路由 就选了Bable 自己一步一步的配置 加深印象。

    然后下载路由 npm install vue-router --save

     2.基础配置

    src文件下新建一个router.js  管理所有的路由

    // 1.引入vue
    import Vue from 'vue'
    //引入路由
    import Router from 'vue-router'
    // 使用路由
    Vue.use(Router);
    // 创建一个实例输出它
    export default new Router({
        routes:[] //注意这里是routes 不是router
    })

     然后在main.js里面运用并挂载他,这样就可以在全局使用了.

    import Vue from 'vue'
    import App from './App.vue'
    import router from './router'
    Vue.config.productionTip = false
    
    new Vue({
    router,
      render: h => h(App),
    }).$mount('#app')
    

     3.页面跳转和跟路由配置

    1.新建view文件夹 里面新建Home.vue和About.vue两个文件夹

    2.router.js里面引入Home和About两个组件,并配置跟路由重定向和路由路径

    路由重定向一共有三种方式 下面演示只用第一种

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

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

    {path:'/',redirect:to=>{return '/home'}},

    注意组件的大小写一定要一样 不然会报错

    3.在App.vue要写路由出口和配置一下路由导航 路由出口一定要写 不然没效果

    a.router-link-exact-active 是设置路由选中是的样式 可以设置颜色等

     3.路由的histoy模式

     直接在前面加一个 mode:'history',就可以了  下图是他们的区别 history模式为了防止刷新404 需要后台人员配置一下

    4.动态路由设置

    3种方式

    第一种
    {path:'/mine/:name/:age',name:'mine',component:Mine}  //常规方式
    第二种
    {path: '/mine', name: 'mine', component: Mine, props: {name: '小撩',sex='nan'}} //props方式 
    
     
         在组件里要接收才可以
    
     
    
    第三种
    
    {path: '/mine/:name/:sex', name: 'mine', component: Mine, props: true}
    
    props:true  这样后面也可以加红色的参数了 第二种是全部写到对象里 不加上面红色的部分了 都可以通过props方法来拿 但是?sex=nan&height=111 这种方式就拿不到 就可以把true改成一个函数
    
    {path: '/mine/:name/:sex', name: 'mine', component: Mine, props: func} 在上面加一个函数就可以拿到?sex=nan&height=111了
    
    let func = (route)=>{
        return {
            name: route.params.name,
            sex: route.params.sex,
            height: route.query.height,
            dog: route.query.dog,
        }
    };
    

     router.js里面

     不能这样写 下面红色部分是错的

    {path:'/mine/:name/:age?sex=男&height=111',name:'mine',component:Mine} 
    注意 localhost:8080/#/mine/clj/22?sex=nan&height=180 红色部分是直接传进来的 在路由path中 不用:sex :height 获取使用this.$route.query
    路由path加了 :name :sex 访问的时候也必须嫁两个参数才可以 比如localhost:8080/#/mine/clj/22 不然访问不了 用this.$route.params获取数据

    路由传过来的参数如下

     

     组件里面获取路由的参数

     5.嵌套路由

    很简单,是那个的子路由 就在那个的下面加上children 然后配置路由和配一级路由一样的  记得加路由出口就可以了 不管多少级都是一样的.

     

  • 相关阅读:
    "Java:comp/env/"讲解与JNDI
    table的td去边框
    jsp获取所有参数
    spring-mvc设置首页
    jdbc数据库连接方式
    文件上传
    SMBMS
    过滤器和监听器
    解决Maven的JDK版本问题
    MVC
  • 原文地址:https://www.cnblogs.com/chenglianjie/p/12071535.html
Copyright © 2020-2023  润新知