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的写法基础分析
Jan 17 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
Apr 15 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
Apr 25 Javascript
JS实现根据当前文字选择返回被选中的文字
May 21 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
js判断当前页面在移动设备还是在PC端中打开
Jan 06 Javascript
AngularJS中的缓存使用
Jan 11 Javascript
Bootstrap 网格系统布局详解
Mar 19 Javascript
Vue.js 单页面多路由区域操作的实例详解
Jul 17 Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 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 self与$this的详解
2013/06/08 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
layui多图上传实现删除功能的例子
2019/09/23 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
Python实现的数据结构与算法之队列详解
2015/04/22 Python
python3实现短网址和数字相互转换的方法
2015/04/28 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
python 杀死自身进程的实现方法
2019/07/01 Python
django创建简单的页面响应实例教程
2019/09/06 Python
pandas数据拼接的实现示例
2020/04/16 Python
python exit出错原因整理
2020/08/31 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
初三化学教学反思
2014/01/23 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
个人工作表现评语
2014/04/30 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
烟台的海导游词
2015/02/02 职场文书
个人年终总结开头
2015/03/06 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
本科毕业论文答辩稿
2015/06/23 职场文书
python实现高效的遗传算法
2021/04/07 Python