在Vue3中,可以使用v-ifv-else指令来避免不必要的渲染,以优化性能。此外,可以使用computed属性来计算resdata.status的值,避免在模板中反复计算。

代码如下:

<template>
  <strong class="ff-ab">
    <div v-if="isLoading" style="margin-top: -30px">
      <!-- 加载中的提示 -->
    </div>
    <div v-else>
      {{ shijian }}
    </div>
  </strong>
</template>

<script>
export default {
  props: {
    resdata: Object
  },
  computed: {
    isLoading() {
      return this.resdata.status === 1
    },
    shijian() {
      return this.resdata.status === 0 ? this.resdata.shijian : ""
    }
  }
}
</script>

在上面的代码中,我们定义了两个计算属性isLoadingshijianisLoading用来判断是否显示加载中的提示,shijian用来计算展示的时间值。

在模板中,我们使用v-ifv-else指令来根据isLoading的值来展示不同的内容。这样可以避免在模板中反复计算resdata.status的值,从而提高性能。

另外,我们还可以将resdata作为组件的prop传入,这样可以让组件更加通用。

vue3优化并给我代码
 <strong class=
{{ resdata.status == 0 ? resdata.shijian : "" }} " title="vue3优化并给我代码
{{ resdata.status == 0 ? resdata.shijian : "" }}
" loading="lazy">

原文地址: https://www.cveoy.top/t/topic/lTn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录