为何要使用参数来防止组件在Vue路由器中重新加载?

问题描述

因此,我刚进入Vue路由器参数主题,在该主题中演示了如何使用参数:id来防止重新加载组件。因此,我必须使用watch钩子来检测$route.params中的任何更改并在其上呈现内容。

Here is the documentation

那么这种方法的优势是什么?为什么不只使用延迟加载方法来更快地呈现页面?首先,我认为组件的 state 将保持不变,但是我使用checkbox进行了测试,并且它不会保留以前的组件状态。

/***** About.vue *****/

<template>
   <div>
      <div class="about">
         <h1>This is an about page</h1>
         <input type='checkbox' />

         <about-comp1 v-if="$route.params.id ==='sub1'"></about-comp1>
         <about-comp2 v-else-if="$route.params.id ==='sub2'"></about-comp2>
         <about-comp3 v-else-if="$route.params.id ==='sub3'"></about-comp3>
      </div>
   </div>
</template>

<script>
import about_comp1 from "@/components/about-comp1.vue"
import about_comp2 from "@/components/about-comp2.vue"
import about_comp3 from "@/components/about-comp3.vue"

export default {
   components: {
      "about-comp1": about_comp1,"about-comp2": about_comp2,"about-comp3": about_comp3
   },computed: {
      sub(){
         return this.$route.params
      }
   },watch: {
      sub: { 
         handler: function(){
            console.log(this.sub.id);
         },immediate: true
      }
   }
}
</script>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...