美文网首页
vue-Rouer 路由原地跳转

vue-Rouer 路由原地跳转

作者: Petricor | 来源:发表于2022-04-13 14:09 被阅读0次

问题

  • 当你想通过路径参数的变化来控制,页面内容展示的时候
  • 在相同的路径中进行跳转,如果只是参数变化,是不会触发页面内组件的刷新的
    例如:<router-link :to="'/home/params/'+sun+'/123'"> 地址栏传值 </router-link>

解决方案

1.监听当前路径的$route对象,当该对象变化时手动触发数据更新

watch:{
  $route(){
    this.getData(); //当对象改变,执行操作获取新数据
  }   
}
  1. 给视图<router-view>添加key属性,把它的值设置为动态随机数(例如New Date()),这样每次都会刷新视图了。
<router-view :key="new Date()"></router-view>

结论

Vue里,会默认的考虑性能,尽量的减少DOM的重新渲染。

key属性在Vue里用的会很多,下面摘录一段官方说明:

key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。

Vue的列表渲染里,可以通过给<li>标签绑定:key属性来使列表进行强行重新渲染,这样即使每一项的内容并没有改变也可以触发DOM的重新排列。

遇到的问题:

[vue-router] missing param for named route "infiniteScroll": Expected "id" to be defined
翻译:[vue router]命名路由“infiniteScroll”缺少参数:应定义“id”

// 1.定义的路由是.
  {path:'/home/newsinfo/:id' ,name: 'newsinfo' , component:newsinfo }
//跳转的地址:
  this.$router.push({
      name: newsinfo,
   });

解析:因为在路由重定义是接收了参数,但是在跳转的时候没有传递参数的原因。只需要在跳转的时候按照规定添加参数即可

代码地址:码云 vue-question 无限滚动 - 首页面

相关文章

  • vue-Rouer 路由原地跳转

    问题 当你想通过路径参数的变化来控制,页面内容展示的时候 在相同的路径中进行跳转,如果只是参数变化,是不会触发页面...

  • 路由跳转(非命名路由)

    单纯跳转: 路由传值跳转: 路由传值返回跳转:

  • Vue 动态设置路由Meta title 名称

    路由配置 路由跳转 或路由配置 路由跳转 都可以,看着用。随堂笔记防遗忘!

  • flutter笔记一

    路由跳转 创建新路由

  • 路由跳转的总结

    路由跳转 方式1返回上一级或指定的路由 方式2使用路由跳转

  • angualr(二) 路由之angualr-router

    创建项目 路由的基本使用 路由对象图示 路由基本配置 路由通配符配置 HTML里面跳转链接 在js里面跳转路由 路...

  • react路由基础配置

    1、根据路径加载对应页面内容2、路由跳转3、路由懒加载4、嵌套路由(子路由)5、路由管理6、路由跳转权限校验 1、...

  • nuxt基础

    路由跳转 动态路由 对应会自动生成如下路由 路由参数校验 返回布尔值,false则跳转到404页面 嵌套路由

  • 路由跳转(可能的面试题)

    路由如何取参数? 如何跳转路由?

  • 路由嵌套

    子路由的path不能带 /, 否则不跳转, path: 'chapter' 跳转的路由地址要把父路由带上 "/co...

网友评论

      本文标题:vue-Rouer 路由原地跳转

      本文链接:https://www.haomeiwen.com/subject/ikptertx.html