Echaer图表 父向子传值,页面刷新数据丢失

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    
 

组件传参一刷新就消失是正常机制,除非你使用本地存储来实现

注意下异步和同步的问题。父组件中要传给子组件的值,是不是在子组件渲染的时候还没拿到。