Vue3 Computed 计算属性应用介绍

一:Computed 介绍

1.简化代码,直接计算得出想要使用的数据

2.计算属性只在相关响应式依赖发生改变时它们才会重新求值。如果响应式数据发生变化,则计算属性会依据它所依赖的数据进行重新计算

3.计算属性是有缓存机制的

4.接收计算属性结果的变量可以直接在HTML模板中通过插值语法使用

二:Computed 使用

1.组合式API注册 computed 方法

import { defineComponent, computed, onMounted, watch } from 'vue'

2.computed 方法接收一个回调函数,回调函数中书写计算数据的逻辑,然后 return 返回计算后的数据

export default defineComponent({
  name: "ColumnList",
  props: {
    list: {
      // 使用 PropType 使得构造函数数据类型断言为自定义接口数据类型
      type: Array as PropType<ColumnProps[]>,
      required: true,
    },
  },
  setup(props) {
    // 计算 props 接收的数据
    const columnList = computed(() => {
      return props.list.map((column) => {
        if (!column.avatar) {
          column.avatar = require("@/assets/avatar.jpg");
        }
        return column;
      });
    });
    return {
      columnList,
    };
  },
});
</script>

3.读取 Vuex 的内容经常使用 computed 属性进行读取,因为 Vuex 的数据是响应式的

const column = computed(() => store.getters.getColumnById(currentId));
const list = computed(()=> store.state.columns;

4.记得 setup 中声明的变量如果想在模板中使用需要 return 出去

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值