Echaer图表 父向子传值,页面刷新数据丢失
问题描述:
<div class="lineChart">
<lineChart :bossInfo= 'bossInfo' ></lineChart>
</div>
props:['bossInfo'],
data() {
return {
data_clue_num:'',
clueData:[],
}
},
created() {
this.callParent()//执行echarts
},
mounted() {
},
methods: {
//获取父组件中的数据
callParent(){
// console.log(this.bossInfo)
console.log(this.bossInfo);
this.data_clue_num = this.bossInfo.data_clue_num
console.log(this.data_clue_num);
for(let key in this.data_clue_num){
this.clueData.push(this.data_clue_num[key])
}
this.$nextTick(() => {
this.init()//执行echarts
});
},
原因:
页面刚载入是有显示,然而刷新页面后图表就获取不到数据了。刷新后bossInfo就获取不到数据了
答
1.你把this.$nextTick去掉试试看,直接this.init();
2.如果上面方法不行,你试试 把callParent() 放在mounted试试(同时输出看看props传过来的值),还是不行在mounted 加个延时看看,不用设置事件 就是套个setTimeout
答
组件传参一刷新就消失是正常机制,除非你使用本地存储来实现
答
注意下异步和同步的问题。父组件中要传给子组件的值,是不是在子组件渲染的时候还没拿到。