VueJs Ajax数据交互

在VUE开发时,数据可以使用jquery和vue-resource来获取数据。在获取数据时,一定需要给一个数据初始值。

<li class="article" v-for="list in data">
    <a href="#">
        <img :src="'<%=Conf.OSS_IMG_URL%>' + list.icon" alt="">
        <p class="wallName">{{list.name}}</p>
        <p class="walltext">{{list.name}} <span>免费</span></p>
    </a>
</li>
<script type="text/javascript">
new Vue ({
    el : '#example',
    data : {data : ""},
    created : function(){
        var _self = this;
        $.ajax({
            url : 'listTemController/queryTemplate',
            type : 'post',
            async : false,
            data : {list : '3'},
            datatype: "json",
            success : function (data) {
                console.log(data);
                _self.data = data.list;
            }
        })
    }
})
 </script>

这里必须设置 vue的data的初始数据,即使此时数据为空。

在使用ajax获取数据时,使用vue-resource 更加合适。

使用vue-resource代码如下:

<script type="text/javascript">

     new Vue({
            el:'#app',
            data:{data:""},
            created:function(){
                var url="json.jsp";

                this.$http.get(url).then(function(data){
                    var json=data.body;
                    this.data=eval("(" + json +")");
                },function(response){
                    console.info(response);
                })
            }
          });
    </script>

这里我们看到设置VUE实例数据时,直接使用 this.data 就可以设置vue的数据了。

使用jquery的时候,代码如下:

<script type="text/javascript">
     new Vue({
            el:'#app',
            data:{data:""},
            beforeCreate:function(){
                var url="json.jsp";
                var _self=this;
                $.get(url,function(data){
                    _self.data=eval("(" + data +")");
                })
            }
          });
    </script>

这里在需要先将 this 赋值给 _self ,让后在jquery的get方法中进行使用,这样使用起来没有vue-resource方便。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值