3.22

65 阅读1分钟

/* 传值 */ export default {

name:"App",

methods:{

goabout(){

  /* 动态路由就是/:id,传过去是数字类型, 刷新之后是字符串*/
  
  
  /* 用params传值只能采用name的方式,不能采用path,否则id就传不过去 ,参数是不会在地址栏上展示的*/
  
  
  this.$router.push({
    name:"about",
    params:{
      id:"100"
    }
    /* 如果不采用动态路由的方式传值,想刷新还存在就使用本地缓存的方式 */
  })
},
govip(){
  /* 采用query的方式传参比params好在,刷新之后值不会消失 */
  this.$router.push({
    name:"vippage",/* 这个可以使用path的方式 */
    query:{
      id:''
    },
    
    
    

}, /* 一进入组件立即执行 */

beforeRouteEnter:function(to,from,next){
    console.log('进入vip页面');
    alert('欢迎光临');
    next()
},
/* 当query传参的时候 参数的值发生了变化,也会执行组件路由更新钩子函数 */
/* params传参的时候是不会触发 组件更新钩子函数的 */
beforeRouteUpdate:function(to,from,next){
     let id=to.query.id/* 必须要用to,不能使用this.$route.query.id因为这个是获取了之前的id,不是跳转后的 */