vue.js - 更新 Vuex 状态对象并将项目作为道具传递给子组件正在增加内存
问题描述
我整天都在盯着堆快照,但我无法解决这个问题。
当我将 vuex 状态对象项传递给子组件时,内存不断增加并且不会被 gc'd。但是,如果我使用父组件中的数据,那就没问题了。
我的 vuex 状态对象项值每秒更新一次。
这是我的父组件的示例:
<template>
<div>
<child-item v-for="(item, i) in list" :key="i" :value="item"></child-item>
<!-- this works fine and memory is released <div>{{ item }}</div> -->
</div>
</template>
<script>
export default {
name: 'List',
computed: {
list() {
return this.$store.state.list // vuex object with items updating every second
}
}
}
</script>
这是我的子组件的示例:
<template>
<div>
{{ value }}
</div>
</template>
<script>
export default {
name: 'Item',
props: ['value']
}
</script>
有谁知道为什么会这样?
解决方案
推荐阅读
- c# - How to cut data from a file?
- safari - WebGL:getUniformLocation 在 Safari 上失败
- codenameone - ContactsManager 缺少方法?
- javascript - TypeScript error when passing parameters between functions
- python - 蜘蛛IDE;由于奇怪的日志记录问题而重置 IPython 控制台状态
- python - Python SSH Library
- angular - Angular 7 how to use fs module?
- powerbi - 如何将单个日期表用于两个日期字段?
- c# - 如何使用“am”或“pm”格式(不是 AM/PM)将“字符串”解析为“DateTime”?
- c# - 如何在 Microsoft Visual Studio 中接收输入和反向字符串?