跨屏网专一一句话JS解决网站移动适配问题,因此除了前端之外,还须要涉及程序开发的部分,而最近流行的vue框架也在内,初次使用vue的时候不免出问题,好比vue经过ajax获取数据的时候,若是不当心就容易出问题,最终的出来如下经验,供后来人学习。javascript
在VUE开发时,数据能够使用jquery和vue-resource来获取数据。在获取数据时,必定须要给一个数据初始值。前端
看下例:vue
<script type="text/javascript"> new Vue({ el:'#app', data:{data:""}, created:function(){ var url="json.jsp"; var _self=this; $.get(url,function(data){ _self.data=eval("(" + data +")"); }) /* this.$http.get(url).then(function(data){ var json=data.body; this.data=eval("(" + json +")"); },function(response){ console.info(response); })*/ } }); </script>
这里必须设置 vue的data的初始数据,即便此时数据为空。java
在使用ajax获取数据时,使用vue-resource 更加合适。jquery
使用vue-resource代码以下:ios
<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的数据了。ajax
使用jquery的时候,代码以下:json
<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方便,另外除了jquery,axios也须要先把this赋值给_self。axios