Vue中的vue-resource示例详解


Posted in Javascript onNovember 02, 2018

vue-resource特点

vue-resource插件具有以下特点:

1. 体积小 vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比jQuery的体积要小得多。

2. 支持主流的浏览器 和Vue.js一样,vue-resource除了不支持IE 9以下的浏览器,其他主流的浏览器都支持。

3. 支持Promise API和URI Templates Promise是ES6的特性,Promise的中文含义为“先知”,Promise对象用于异步计算。 URI Templates表示URI模板,有些类似于ASP.NET MVC的路由模板。

4. 支持拦截器 拦截器是全局的,拦截器可以在请求发送前和发送请求后做一些处理。拦截器在一些场景下会非常有用,比如请求发送前在headers中设置access_token,或者在请求失败时,提供共通的处理方式。

下面通过示例看下Vue中的vue-resource一起看看吧

  • 版本:vue-resource v1.2.1
  • 作用:

  Vue与后台Api进行交互通常是利用vue-resource来实现的,本质上vue-resource是通过http来完成AJAX请求相应的。

用法:

  Vue实例对象注册this.$http服务,可以发送HTTP请求。解析请求所返回的结果。此外,Vue实例将会自定绑定到this所在的回调函数中。

{
 // GET /someUrl
 this.$http.get('/someUrl').then(response => {
  // success callback
 }, response => {
  // error callback
 });
}

快捷方法列表

get(url, [config])
head(url, [config])
delete(url, [config])
jsonp(url, [config])
post(url, [body], [config])
put(url, [body], [config])
patch(url, [body], [config])

配置信息命令

Vue中的vue-resource示例详解

响应

Vue中的vue-resource示例详解

源码

下面我将以get请求访问json文件的方式来展示vue-resource的用法。

html中的源码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>vue-router</title>
</head>
<body>
  <div id="app">
    <ul>
      <li v-for="item in list">{{item.name}}</li>
    </ul>
    <button @click="getData">get请求</button>
  </div>
<script src="../../../js/vue/vue/1.0/vue.js"></script>
<script src="../../../js/vue/vue-resource/1.2.1/vue-resource.js"></script>
<script type="application/javascript">
  var vm = new Vue({
    el:'#app'
    ,data:{
      list:[]
    }
    ,methods:{
      getData(){
        var url = '../json/get.json';
        this.$http.get(url).then(function(res){
          var body = res.body;
          if(body.status){
            alert('请求出错!');
          }
          this.list = body.message;
        });
      }
    }
  });
</script>
</body>
</html>

json文件中的源码

{
 "status":0
 ,"message":[
  {
   "id":1
   ,"name":"张三"
  }
  ,{
   "id":2
   ,"name":"李四"
  }
 ]
}

结果

Vue中的vue-resource示例详解

分析

上面的代码实现的功能是在页面中通过点击button按钮来触发一个getData的click响应事件,而该事件实现的功能是发送一个url请求(尽管说其请求的是本地的json文件数据,不过其请求后台的方法和该方法是一模一样的,所以说其用于请求后台的数据也是同样的用法。),该请求返回url链接所响应的数据。而该返回数据将会在then()回调函数中进行相应的处理,比如说我们的json文件中就返回了status响应状态码,其中0代表成功,否则失败。而一旦响应成功,则调用body.message,将相应的数据主体绑定到data数据域中的list中,由于list中的数据有变动,因而Vue会自定的刷新li的v-for中的页面信息,进而完成页面信息的更新操作。

总结

以上所述是小编给大家介绍的Vue中的vue-resource示例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery Tools Dateinput使用介绍
Jul 14 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
Jquery 在页面加载后执行的几种方式
Mar 14 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
Dec 05 Javascript
jquery ui resize 中border-box的bug修正
Apr 26 Javascript
javascript中undefined与null的区别
Aug 16 Javascript
javascript创建cookie、读取cookie
Mar 31 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 Javascript
jQuery创建折叠式菜单
Jun 15 jQuery
JS前端知识点总结之内置对象,日期对象和定时器相关操作
Jul 05 Javascript
layui表格 列自动适应大小失效的解决方法
Sep 06 Javascript
浅析JavaScript 函数柯里化
Sep 08 Javascript
微信小程序实现列表页的点赞和取消点赞功能
Nov 02 #Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 #Javascript
element ui table 增加筛选的方法示例
Nov 02 #Javascript
Vue请求JSON Server服务器数据的实现方法
Nov 02 #Javascript
详解使用element-ui table组件的筛选功能的一个小坑
Nov 02 #Javascript
如何使用vuex实现兄弟组件通信
Nov 02 #Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
Nov 02 #Javascript
You might like
php 中英文语言转换类代码
2011/08/11 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
一个php+js实时显示时间问题
2015/10/12 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python 文件查找及内容匹配方法
2018/10/25 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
Python使用Chrome插件实现爬虫过程图解
2020/06/09 Python
解决python 虚拟环境删除包无法加载的问题
2020/07/13 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
电钳工人个人求职信
2014/05/10 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js