javascript - vuex 提交时超出了最大 calstack 大小
问题描述
我这里有这个错误
我可以将错误限制在此行
mounted() {
this.$nextTick(() => {
let ctx = this.$refs.canvas.getContext('2d')
let { chartType, dataOptions } = this.module
this.chart = new Chart(ctx, {
type: chartType,
data: dataOptions,
options: minimizeOptions,
})
})
},
错误来自dataOptions
. 如果我将数据设置为{}
一切正常,但显然我的图表没有数据。
this.module
是传递给我的组件的道具。v-for
组件本身在循环中呈现
<module
v-for="mod in modules"
:module="mod"
:key="mod._id.toString()"
/>
我在这里使用 Chart.js。
我找不到此调用堆栈超出错误的原因。
也许有人有类似的问题?
我还需要提到,当我想切换放置在布局中的全局组件时会发生此错误layout
dataOptions
:
{
datasets: [
{
backgroundColor: "#34495e",
borderColor: "bdc3c7",
data: [0],
label: "My first dataset"
}
],
labels: ["Start"]
}
解决方案
我实际上不需要对这个道具做出反应,所以我决定冻结它。
let { chartType, dataOptions } = Object.freeze(this.module);
反应性也消失了错误。这解决了我的问题。
也许有人有反应数据的解决方案
推荐阅读
- javascript - 使用 XML 文件的 HTML 下拉菜单,但我希望将第二列的 2 列作为隐藏文本框,以供下一步参考过滤器
- android - LinearLayout 内部组件之间的边距
- asp.net-web-api - 使用 EFCore 过滤 ASp.net Core 中的数据
- angular - 字段“浏览器”在将模拟组件从库导入项目的 Angular 11 工作区中不包含有效的别名配置
- python - 查找某个字符串格式在长字符串中的位置
- android - Android 扩展文件下载器 - 写入权限?
- java - 使用命令行执行 Java 类文件,但来自“错误”目录
- java - 在android studio中制作带有用户详细信息的证书
- javascript - 如何使整个 div 可点击(进入链接)?
- sequelize.js - 在续集中使用 [Op.and] 准备动态 where