vue2.0页面刷新后无法从mounted中获取url(this.$route)信息的解决办法

问题

       使用element制作标签页时,需要根据页面当前的url设置标签页的初始状态,所以需要在mounted中获取当前的路由信息,代码如下:

mounted() {
	console.log(this.$route);		// 无法打印出正常的url信息
}

原因

       由于vue中的dom渲染过程,我们无法在mounted中获取dom信息,也就没有办法获取当前路由的信息。

解决办法

       使用setTimeout()方法,延迟获取dom及获取url信息的操作,代码如下:

mounted() {
	let _this = this;
	setTimeout(function() {
		console.log(_this.$route);
	}, 100);
}

       这里需要注意,在setTimeout()中的this和mounted中的this不是同一个this,所以需要通过变量(_this)在setTimeout()中获取$route。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值