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

阅读 9.3k
2 个回答

你说的是这个吧?

由于 Vue 不允许动态添加根级响应式属性,所以你必须在初始化实例前声明根级响应式属性,哪怕只是一个空值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题