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 相关文章推荐
js 连接数据库如何操作数据库中的数据
Nov 23 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
Mar 04 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
js中Array对象的常用遍历方法详解
Jan 17 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
vue 实现v-for循环回来的数据动态绑定id
Nov 07 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 Javascript
手把手教您实现react异步加载高阶组件
Apr 07 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 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
Linux下进行MYSQL编程时插入中文乱码的解决方案
2007/03/15 PHP
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
php数据类型判断函数有哪些
2013/09/23 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
PHP使用第三方即时获取物流动态实例详解
2017/04/27 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
JS辨别访问浏览器判断是android还是ios系统
2014/08/19 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
2015/01/09 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
Python下载懒人图库JavaScript特效
2015/05/28 Python
python处理二进制数据的方法
2015/06/03 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
Python 如何实现访问者模式
2020/07/28 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
采购文员岗位职责
2013/11/20 职场文书
小学生安全演讲稿
2014/04/25 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
教师四风自我剖析材料
2014/09/30 职场文书