vue.js - vue2中用ajax赋值data不可用
本文介绍了vue.js - vue2中用ajax赋值data不可用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如果在创建的时候赋值data,再通过ajax修改,是可以的.
可用
new Vue({
el:'#app',
data:{
a:false
},
beforeCreate:function(){
$.ajax().success(){
that.a=true
}
}
})
但如果不赋值data,而通过ajax赋值,数据就用不起来
不可用
new Vue({
el:'#app',
data:{
},
beforeCreate/mounted:function(){
$.ajax().success(){
that.a=true
}
}
})
求教原因,及解决思路,谢谢!
12-13 16:29 update:
有个奇怪的现象,当我页面有任意一个{{b}}的时候,我通过上面获得的a来v-if="a",他又是可用的了.如果没有{{b}},页面还是无法加载v-if
解决方案
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level reactive properties)。然而它可以使用
Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:
https://cn.vuejs.org/v2/guide...变化检测问题
https://jsfiddle.net/ycloud/x...
这篇关于vue.js - vue2中用ajax赋值data不可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文