由于是异步请求,导致我ajax请求还没执行完,就已经给vue实例赋值了,并且赋的值是空值,应该如何解决啊,百度半天也没找到axios设为同步请求的方法,除了使用jquery的ajax,还有其他更加优雅,方便的方法吗下图为代码
4 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
我不知道axios中有同步的方法,即使在jquery中,同步方式也不是推荐的。
还是推荐用promise或者回调的方式。
你可以在ajax返回后再创建vue实例,我是看到有人这样做,但同样不推荐。
其实你可以先创建vue实例,再在created函数中发送ajax请求,返回后再修改vue中的data。
补充:
你可以这样:
new Vue({
el:"#app",
router,
store,
i18n,
.......
created:function(){
var _this=this;
axios.get(url).then(function(d){
_this.$i18n.locale=d;
})
}
})
添加回答
举报
0/150
提交
取消