javascript - 从父组件的 for 循环传递数据时,Watcher 不起作用
问题描述
<div v-for= "(item , index) in chartData" class="col" :key="index">
<ColumnChart
:chartdata="item.tactical"
:simpletype="true"
/>
</div>
MychartData
是一个包含空数组的属性。
在使用对象数组填充服务器请求之后。
在上面的 for 循环中,我将这些数据传递给名为“ColumnChart”的子组件。
我的问题是子组件的观察者似乎无法正常工作。
watch: {
chartdata(val) {
console.log(val) // This val never appears in the console
if (val !== null) {
this.initChart();
}
if (val.length === 0) {
this.initLoading();
}
},
},
真正奇怪的是,子组件的 props 中填充了来自父组件的数据。
此外,当我不使用循环直接传递数据时,一切正常。
<ColumnChart
:chartdata="chartData.length > 0 ? chartData[0].tactical : []"
:simpletype="true"
/>
有任何想法吗?
解决方案
您的观察者配置中有错字,它应该是chartData
而不是chartdata
.
推荐阅读
- java - Java - 将记录插入数据库时执行批处理不起作用
- amazon-web-services - S3 选择定价如何运作?s3 select中返回和扫描的数据是什么意思
- java - 在垃圾收集之前对 Java 对象进行回调
- php - PHP在foreach循环中将4个SimpleXMLElement对象合并为1
- drupal - 商业订单 - PDOException:SQLSTATE [40001]:序列化失败:1213 尝试获取锁时发现死锁;尝试重启事务
- c - C中的稀疏矩阵乘法
- php - PHP Mysql 外键
- java - 对列表的每一列求和并将其添加到最后一项
- javascript - 如何使用 smarty 3 将数组从 php 传递到 javascript?
- linux-kernel - 通过 prio-preempt 在 Linux RT LTS4.4 上测试优先级抢占