vue.js - vue2中用ajax赋值data不可用

查看:656
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆