vue的几个提效技巧

本文介绍了Vue.js开发中的一些高效技巧,包括动态组件结合v-for的使用,watch的立即执行和深度监听,计算属性的setter,使用$on监听生命周期,子组件监听生命周期回调,以及v-pre、v-once、Vue.set()、$forceUpdate()等指令的应用。还探讨了keep-alive、$route路由信息的处理,组件通信、样式穿透、Object.freeze()和组件性能优化策略。
摘要由CSDN通过智能技术生成

1.动态组件 <component :is='组件名'></component>

结合v-for循环使用
  • 使用环境

    如图,这是一个v-for渲染的列表(只是目前这个版块才刚开始做,目前只有一个),圆圈内的就是一个组件,也就是要v-for动态组件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CgstVJ6d-1665390342414)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/018edf494b164a3b806e550acf4879d8~tplv-k3u1fbpfcp-zoom-in-crop-mark:4536:0:0:0.image)]

  • 实际使用

一开始就是基本的组件引入了

import ColorIn from '@/components/Magic/ColorIn.vue'
import LineIn from "@/components/Magic/LineIn.vue";
import LineIn from "@/components/Magic/Header.vue";
import LineIn from "@/components/Magic/Footer.vue";

export default{
   
      components:{
   
        ColorIn,
        LineIn,
        Header,
        Footer
    }
}

接下来就是动态v-for动态组件的使用,componentList:['ColorIn','LineIn','Header','Footer']使用下面的代码即可将代码依次循环

<component v-for="(item,index) in componentList" :key="index" :is="item"></component>

编译以后的效果就是

<ColorIn></ColorIn>
<LineIn></LineIn>
<Header></Header>
<Footer></Footer>

2.watch进阶使用

立即执行
  • 使用环境

例如场景为页面一进来就调用拉取列表数据getList(),然后监听路由的$route.query.id然后触发列表数据的更新

  • 实际使用

为了让它一开始就执行,我们需要在created()生命周期中执行一次拉取数据的方法

watch:{
   
    '$route.query.id':{
   
        handle(){
   
            this.getList();
        },
    }
},
created(){
   
    this.getList();
},

但是使用immediate即可立即执行,改写以后的代码如下

watch:{
   
    '$route.query.id':{
   
        handle(){
   
          this.getList();
        },
        immediate:true
    }
},

深度监听
  • 使用环境

在监听对象的时候,对象的内部属性发生变化watch无法监听到,这种时候就需要使用深度监听

  • 实际使用

只需要设置deep:true即可开启深度监听

data(){
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值