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 相关文章推荐
JavaScript 语言的递归编程
May 18 Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 Javascript
jquery 取子节点及当前节点属性值
Jul 25 Javascript
JavaScript获得页面base标签中url的方法
Apr 03 Javascript
jquery调整表格行tr上下顺序实例讲解
Jan 09 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
Vue 滚动行为的具体使用方法
Sep 13 Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 Javascript
vue动态删除从数据库倒入列表的某一条方法
Sep 29 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 Javascript
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
微信小程序实现列表页的点赞和取消点赞功能
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下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
python批量提取word内信息
2015/08/09 Python
理论讲解python多进程并发编程
2018/02/09 Python
Python学习小技巧总结
2018/06/10 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
护理专业推荐信
2013/11/07 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
春节超市活动方案
2014/08/14 职场文书