vue中路由的基本使用

路由

路由其实就是一个指向,把路径指向相应的组件地址

路由的基本使用

在vue中要实现路由是vue-router来实现

  1. 安装插件(注意在项目所在目录进行安装)

    • npm i vue-router
  2. 导入插件

    • 在哪里导入插件呢?vue-router是vue的一个插件,也是一个全局的控制 ,所以最终是要挂载到new Vue上的,new Vue是在main文件中执行的,所以vue-router也就得在main文件中导入

    • import  VueRouter  from  'vue-router'
  3. 注册插件

    • 在vue中,router在vue中要全局使用,是需要注册才行的

    • Vue.use(VueRouter) 
  4. 实例化router

    • let router = new VueRouter({  })    //router实例化
  5. 配置路由的规则

    • //配制router使用规则 
        let router = new VueRouter({  
         routes:[ // 路由规则配置,我们说了,路由就是一个地址与组件的一个指向,这个规则就是配制在这里的
             {
              path: "/路径",    //这里配制一个路径地址
              component: 组件名   //这里对应一个.vue组件 ,也就是import一个组件,在这对应上
             }
             ] 
        })
  6. 把实例注入到 new Vue

    • new Vue({
          router    //这里的router就是上面所实例化的router
      })
  7. 路由出口,告诉router,需要把组件渲染在哪一个位置

    app.vue中写上一个标签,<router-view></router-view>

    router-view标签将来会被匹配到的路径对应的组件替换掉

main.js中加入router写法代码

  import Vue from 'vue'
   import App from './App.vue'
   // 1:导入vue-router
   import VueRouter from "vue-router"
   //这里Home是自己components下创建的一个组件 
   import Home from "./components/Home"
   // 2:注册vue-router
   Vue.use(VueRouter)
   // 3:实例化vue-router
   const router = new VueRouter({
     // 配制vue-router
     routes: [
       {
         path: "/home",     //路径地址
         component: Home    //路径地址所对应的组件
       }
     ]
   
   })
   Vue.config.productionTip = false
   
   new Vue({
     render: h => h(App),
     router    //4:注入到new Vue实例里面
   }).$mount('#app')
   

编程式导航(搜嘎,还是简单点吧...简单的说就是 : 跳转路由)

更灵活的控制路由跳转

用法

this.$router.push('路径')   //这里的路径就是前面路由routes所配制的path

作用

让你可以用代码进行路由的跳转,比如,根据接口获取到不同的值跳转不同的路由地址,这时候用标签模式是无法满足需求的,

用js代码控制 就更灵活,这里this.$router就是相当于整个router实例,也就是控制 整个路由的控制者

 

过滤器 filters

有的时候,有些数据没法直接拿来用,就需要对这些数据进行过滤处理,过滤器就是用来做这个功能的

  • 局部过滤器(只能应用于当前组件)

    • 定义(在自己所在组件里面定义)

      • //上面的value是过滤器的要过滤的值,return的值就是过滤器定义的结果
        filters: {
            过滤器名字(value) {
               return 返回值 
            }
        }
      • //这里的value就是过滤器方法里面的参数,也就是要过滤的值
        <div class="time">{{value | 过滤器名字 }}</div>
  • 全局过滤器 ( 全局过滤器定义后,所有组件都可使用)

    • 定义(在main.js中做全局定义)

      • //value是过滤器的要过滤的值,这里return的值就是最终过滤器的值 
        Vue.filter("过滤器名字",function(value){
          return  返回值        
        })
    • 使用

      • //这里的value就是过滤器方法里面的参数,也就是要过滤的值

    作用:平时项目中用的较多的,就是对一些字符串加工之类的,如:接口传了你一个时间戳,你需要转换成相应的正常时间格式等。

    Demo:

    <template>
      <div>{{time | formatTime}}</div>
    </template>
    <script>
    export default {
      data() {
        return {
          time: "1546275661000"
        };
      },
      filters: {
        formatTime(str) {
          let _date = new Date(+str);
          let _year = _date.getFullYear();
          let _month = ("0" + _date.getMonth() + 1).slice(-2);
          let _day = ("0" + _date.getDate()).slice(-2);
          let _h = ("0" + _date.getHours()).slice(-2);
          let _m = ("0" + _date.getMinutes()).slice(-2);
          let _s = ("0" + _date.getMinutes()).slice(-2);
          return (_year + "-" + _month + "-" + _day + "  " + _h + ":" + _m + ":" + _s
          );
        }
      }
    };
    </script>
    <style>
    </style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值