vue.js - 如何通过调用Vue js中的方法来填充数组?
问题描述
我正在尝试通过在 Vue js 中调用方法属性中的函数来填充在数据属性中声明的数组。这是代码:
<script>
export default {
extends: Bar,
mounted() {
this.renderChart(this.chartData, this.options);
this.fillLabel();
},
data() {
return {
chartData: {
labels:[],
datasets: [
{
label: "Users",
data: [40,20,12,39,10,40]
}
]
},
};
},
methods: {
fillLabel() {
this.chartData.datasets[0].data.map(function (key,value) {
this.chartData.labels.push(key);
})
}
}
};
</script>
但这给了我控制台中的以下错误:
[Vue 警告]:挂载钩子中的错误:“TypeError:无法读取未定义的属性 'chartData'”
那么如何将标签数组(chatData 内)填充为 0 到数据数组(数据集内)的长度。
我正在寻找你的帮助。提前致谢。
解决方案
这是因为 map 函数中的函数会丢失this
上下文。所以它变得不确定。
要解决此问题,请在地图内使用箭头功能。
this.chartData.datasets[0].data.map((key,value)=> { this.chartData.labels.push(key); })
这将解决问题
推荐阅读
- dataframe - pyspark:isIN 和 isNOT IN 替换为另一个 df 列
- angular - Angular canActivate 提前执行
- javascript - 阻止上下文菜单在页面右侧被剪切
- python - 重命名+移动编译的python exe问题
- instance - 回复:LiveCycle,子窗体实例控件:添加
- bash - 如何在 terraform termplatefile 中执行 bash `for` 循环?
- php - 在linux服务器上发送php图像
- visual-studio-code - 在 Visual Studio Code 中添加对 COM 控件的引用
- ios - 模态“反弹”导致模态签名板内的垂直滑动问题
- ios - 我可以指定用于密码自动填充的网站吗?