用ajax获取数据后怎样绑定到vue实例化的对象上

怎样把从后台获取的数据绑定到vue对象上,例如我点击一个按钮通过ajax获取的数据想绑定到vue对象上,做了很多尝试都不行,最近在学vue.js,希望高手指点下

阅读 6.9k
4 个回答

vue对象:

var vm = new Vue({
            el: '#example',
            data: {
                id: '',
                name: ''
            }

ajax获取的数据绑定

success: function(result) {
                            vm.id=result.Data.Id;
                            vm.name = result.Data.Name;
                        }

vm.$data不行?

data: function() {
    return {
        json: {}
    }
}

然后
this.json = ajax.data

//通过ajax获取到后台的数据之后,通过push方法将数据添加到data列表里面即可,这个问题也弄了我几个钟,终于解决了。
//如:

var vm = new Vue({
  el: '#view',
  data: {
      listData:[
       {"id":"",
        "name":"",
        "sex":""
       }]
  },
  mounted: function () {
      this.getSomeInfo()//如果想在页面加载时就加载数据,就用这句。否则请去除
 },      
  methods: {
      getSomeInfo: function(){
          var _this = this;
          _this.listData = []     
            $.ajax({
                url:"/getSomeinfo",
                success:function(data){
                    console.log(typeof data);//建议查看一下后台返回的data是什么类型的
                    //如果data是字符串类型,建议通过var data=JSON.parse(data)方法,将字符串转为对象
                    //如果data.length>1,就是说返回的数据有多条的情况,可用for循环push逐条插入listData,让vue渲染出来
                    var data = JSON.parse(data);
                    for(var i=0;i<data.length;i++){
                        _this.listData.push({"id":data.id,"name":data.name,"sex":data.sex}) //push逐条插入数据
                    }   
                }
                error:function(){
                    alert("请求出错了")
                }
            )}
      }
  }
  })

//这个就是ajax结合vue的用法,个人看法,实测有效,如说得不对,请各位大神指教

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