Vue Router跳转和location.href的区别

70 阅读1分钟

vue-router

  • vue-router使用 history.pushState( /url )进行路由更新,静态跳转,页面不会刷新重新加载
  • vue-router使用diff算法,实现按需加载,减少dom操作
  • vue-router进行的是路由跳转或者同一页面进行跳转
  • vue-router是异步加载this.$nextTick(()=>{获取url})
//跳转页面
//该方法传递的值不会在地址栏中显示,但刷新页面数据会消失
goTo(){
    this.$router.push({ path: '/XXX/XXX', params:{ fromParam:"携带参数}
}
//目标页面
created(){ 
    this.receiveParams = this.$route.params.fromParam
}

/*==================================================*/
//跳转页面
//该方法传递的值会在地址栏中显示,刷新页面数据不会消失
goTo(){
    this.$router.push({ path: '/XXX/XXX', query:{ fromParam:"携带参数}
}
//目标页面
created(){ 
    this.receiveParams = this.$route.query.fromParam )
}

location.href

  • 使用 location.href= /url 来跳转,简单方便,但是刷新了页面
  • location.href是不同页面之间的跳转
  • location.href是同步加载
location.href='#divClass'//<div id = "divClass"></div>,通过事件直接跳转到该dev
location.href 可直接获取当前路径
parent.location.href 可跳转至上一层页面
top.location.href 可跳转至最外层页面

------------------------------------------------------------------------------2024.6.11每日一题