Vue3 子组件监听父组件传来异步数据的正确方式

最初想使用watch 配合着 computed 来监听父组件数据,发现没有必要反而造成代码冗余,如果参数一多很难维护。

正确方式:直接使用computed监听就好

js 复制代码
// 子组件
<script>
export default {
  props: {
    yesterDayfollow: {
      type: Array
    },
    transpond: {
      type: Array
    },
    cumulateUsers: {
      type: Array
    }
  },
  setup(props) {
    let yesterDayfollowRef = computed(() => props.yesterDayfollow.length) // 昨日关注
    let transpondRef = computed(() => props.transpond.length) // 昨日分享
    let cumulateUserRef = computed(
      () => props.cumulateUsers[0] && props.cumulateUsers[0].cumulate_user
    ) // 总用户数据

    return {
      yesterDayfollowRef,
      transpondRef,
      cumulateUserRef
    }
  }
}
</script>
  }
js 复制代码
// 获取昨日新增关注人数
getUserSummary(yesterDay, yesterDay).then((r) => {
  yesterDayfollow.value = r.list
})

// 获取图文分享转发数据
getUserShare(yesterDay, yesterDay).then((r) => {
  transpondRef.value = r.list
})

// 获取累计总用户数
getUserCumulate(yesterDay, yesterDay).then((r) => {
  cumulateUsers.value = r.list
})
相关推荐
2013编程爱好者4 小时前
Vue工程结构分析
前端·javascript·vue.js·typescript·前端框架
change_fate6 小时前
el-menu折叠后文字下移
前端·javascript·vue.js
天外天-亮8 小时前
Vue + excel下载 + 水印
前端·vue.js·excel
0***K89210 小时前
Vue数据挖掘开发
前端·javascript·vue.js
t***265910 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
蓝胖子的多啦A梦10 小时前
ElementUI表格错位修复技巧
前端·css·vue.js·el-table表格错位
H***997610 小时前
Vue深度学习实战
前端·javascript·vue.js
code_Bo13 小时前
Ant Design Vue 日期选择器英文不变更中文问题
前端·vue.js·ant design
U***e6313 小时前
Vue自然语言
前端·javascript·vue.js
c***979814 小时前
Vue性能优化实战
前端·javascript·vue.js