因为ajax是异步,所以很难直接更新vue实例中的data数据

就是很难更新this中的data数据

可以曲线救国
在异步前 把this复制给self或其他值就可以了

<template>
    <div class="container-fuild">
        <div class="row" v-for="school in list">
            <div class="col-xs-4">{{school.id}}</div>
        </div>
    </div>

</template>
<style>
  @import "css/bootstrap.css";
</style>
<script>
    module.exports ={
        data:function () {
            return{
                list:"",
                ceshi:"ceshi"
            }
        },
        methods:{
          getlist:function () {
              var data = new Object();
              var self = this;
              /*重点讲解*/
              $.ajax({
                  url:"getlist",
                  data:data,
                  type:"post",
                  dataType:"json",
                  success:function (data) {
                      self.list = data;
                      console.log(data)
                      console.log(this.list)
                  },
                  error:function () {

                  }
              })
          },
        },
        ready:function () {
            this.getlist();
        }
    }

</script>
Logo

前往低代码交流专区

更多推荐