【发布时间】:2021-05-09 23:56:23
【问题描述】:
我有几个组件:A、B、C 在组件 A 中,我有一个数组。
当我从组件 A 中选择一个项目时:
我有一个 emit 到组件 B 中的一个方法,它显示 filesArray.length 和 data:{filesArray:[]}
在组件 B 内部,我有带有 props: filesArray 的组件 C
当我添加文件时
在组件 C 中它看起来像这样:filesArray.push(myFile);
我的问题: 当我从组件 A 中选择一个项目,然后在组件 C 中添加一个文件时
-
前几次它正在更新 filesArray.length,我可以看到数组的长度。
-
第三次或第五次显示 filesArray.length 0 即使在组件 C 中推送项目。
我尝试了什么:在组件 B 中返回 filesArray.length 作为计算:
computed:{
filesArrayLength(){
debugger
return this.filesArray.length;
}
},
它没有用,我尝试使用手表。 它也没有工作
【问题讨论】:
-
您能向我们展示您的 3 个组件吗?不确定您是否可以直接更新道具。
-
我的代码太多了。在组件 A 中:我正在向组件 B 中具有 filesArray 的方法发出发射。在 HTML 中,我显示了长度。组件 C 有 props: filesArray 和一个方法: this.$props.filesArray.push(myFile);
-
然后阅读如何创建一个最小、具体且可验证的示例:stackoverflow.com/help/minimal-reproducible-example。如果没有任何代码,我们无法告诉您可能出了什么问题。