Vue中避免滥用this去读取data中数据

  • template模板中如何避免

提前处理v-for循环所用的数据,不要在v-for循环中去读取数组、对象类型的数据。在上述template模板中滥用this的例子中可以这样优化。

假设listarrobj皆是服务端返回来的数据,且arrobj没有用到任何模块渲染中,可以这样优化

优化前:

复制代码
<template>
  <div class="wrap">
    <div v-for=item in list>
      <div> {{ arr[item.index]['name'] }} </div>
      <div> {{ obj[item.id]['age'] }} </div>
    </div>
  </div>
</template>

优化后:

复制代码
<template>
  <div class="wrap">
    <div v-for=item in listData>
      <div{{item.name}} </div>
        <div>{{item.age}}</div>
    </div>
  </div>
</template>
<script>
const arr = [];
const obj = {}
export default {
  data() {
    return {
      list: [],
    }
  },
  computed: {
    listData: function ({list}) {
      list.forEach(item => {
        item.name = arr[item.index].name;
        item.age = obj[item.id].age;
      })
      return list;
    }
  },
}
</script>
相关推荐
不爱说话郭德纲12 小时前
我只给了 TRAE Work 一张差评截图,它最后却把自己的 P0 结论推翻了?
前端·后端·架构
张元清12 小时前
React useEvent Hook:告别过期闭包的稳定回调 (2026)
javascript·react.js
用户9385156350712 小时前
从 DOM 编程到声明式 UI:React useRef 与 useState 底层全解析
前端·javascript·react.js
小月土星12 小时前
19.LeetCode 删除链表的倒数第 N 个节点 超详细题解(JS 版)
javascript
kisshyshy13 小时前
前端路由进化史:从刷新白屏到SPA,手写一个Hash路由就懂了!
前端·javascript·react.js
Sterting13 小时前
第 8 节:表单 — 前端校验的第一道防线
前端·javascript
保加利亚的风13 小时前
Docker 学习文档(Mac + Docker Desktop 版)
前端·后端
java1234_小锋14 小时前
Vue3专题 - 条件渲染
前端·javascript·vue.js
明月_清风14 小时前
🚀 AI Agent 完全入门指南:从 LLM 到生产落地,新手必懂的 34 个核心概念
前端·后端·ai编程