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 相关文章推荐
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
使用documentElement正确取得当前可见区域的大小
Jul 25 Javascript
Javascript模拟加速运动与减速运动代码分享
Dec 11 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
avalonjs制作响应式瀑布流特效
May 06 Javascript
JQuery中节点遍历方法实例
May 18 Javascript
jQuery文件上传控件 Uploadify 详解
Jun 20 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
javascript设计模式之策略模式学习笔记
Feb 15 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
微信小程序实现图片上传放大预览删除代码
Jun 28 Javascript
学习LayUI时自研的表单参数校验框架案例分析
Jul 29 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中for与foreach的区别分析
2011/03/09 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
JSON对象 详解及实例代码
2016/10/18 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
python获取图片颜色信息的方法
2015/03/18 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python基于pygame实现的弹力球效果(附源码)
2015/11/11 Python
基于python实现简单日历
2018/07/28 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python实现邮件发送功能
2019/08/10 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
HTML5开发动态音频图的实现
2020/07/02 HTML / CSS
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
幼儿园新学期寄语
2014/01/18 职场文书
活动总结新闻稿
2014/08/30 职场文书
董存瑞观后感
2015/06/11 职场文书