/* 传值 */ 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,不是跳转后的 */