一个创建账号页面,创建成果的话我就让他跳转到列表页。我在定时器里写上页面跳转代码,但是不能执行。如果去掉定时器就正常这是什么原因呀axios.post('/campaign/add',campaignEntity,{ headers: { Authorization : getCookie('token'), },}).then(res=>{ if(res.data.status == 1){ this.$message({ message: '创建成功', type: 'success', duration:1800 }); setTimeout(function() { alert(1111); //能执行 this.$router.push({path:"/campaign"}); //不能执行,说push未定义 },1850) }})
5 回答
慕村225694
TA贡献1880条经验 获得超4个赞
改下代码试试:
setTimeout(() => {
alert(1111); //能执行
this.$router.push({path:"/campaign"});
}, 1850)
慕妹3242003
TA贡献1824条经验 获得超6个赞
setTimeout传递的不是箭头函数,而且你里面还写了this,函数在执行时,this指向了window,window是没有$router属性的。
解决方法:要么换成箭头函数,让this指向外层域中的this;要么在外层使用var self=this;函数内使用self变量调用self.$router...
添加回答
举报
0/150
提交
取消