详解vue-Resource(与后端数据交互)


Posted in Javascript onJanuary 16, 2017

单来说,vue-resource就像jQuery里的$.ajax,用来和后端交互数据的。可以放在created或者ready里面运行来获取或者更新数据...

vue-resource文档:https://github.com/vuejs/vue-resource/blob/master/docs/http.md

结合vue-router

data(){
    return{
      toplist:[],
      alllist:[]
    }
  },
  //vue-router
  route:{
    data({to}){
      //并发请求,利用 Promise 
      return Promise.all([
        //简写
        this.$http.get('http://192.168.30.235:9999/rest/knowledge/list',{'websiteId':2,'pageSize':5,'pageNo':1,'isTop':1}),
        //this.$http.get('http://192.168.30.235:9999/rest/knowledge/list',{'websiteId':2,'pageSize':20,'pageNo':1,'isTop':0})
        //不简写
        this.$http({
          method:'GET',
          url:'http://192.168.30.235:9999/rest/knowledge/list',
          data:{'websiteId':2,'pageSize':20,'pageNo':1,'isTop':0},
          headers: {"X-Requested-With": "XMLHttpRequest"},
          emulateJSON: true
          })
        ]).then(function(data){//es5写法
           return{
            toplist:data[0].data.knowledgeList,
            alllist:data[1].data.knowledgeList
          }
        //es6写法 .then()部分
        //.then(([toplist,alllist])=>({toplist,alllist})) 
      },function(error){
        //error
      })
    }
  }

在其他地方使用

ready(){
    var that=this;
    var websiteid = 2,
      pagesize = 20,
      pageno =1; 
    that.$http({
      method:'GET',
      url:'http://192.168.30.235:9999/rest/knowledge/list',
      data:{'websiteId':websiteid,'pageSize':pagesize,'pageNo':pageno,'isTop':0}
    }).then(function(data){
      //赋值给alllist数组,
      that.$set('alllist',data.data.knowledgeList)
    })
    //简写
    /*that.$http.get('http://192.168.30.235:9999/knowledge/list',{'websiteId':2,'pageSize':20,'pageNo':1,'isTop':0}).then(function(response){
      that.$set('alllist',response.data.knowledgeList)
    })*/
  }

若定义全部变量(在data()中定义),使用$get()获取

data(){
    return{
      toplist:[],
      alllist:[],
      websiteid:2,
      pagesize:20,
      pageno:1
    }
  },
ready(){
    var that=this;
    that.$http({
      method:'GET',
      url:'http://192.168.30.235:9999/rest/knowledge/list',
      //使用定义的全局变量 用$get()获取
      data:{'websiteId':that.$get('websiteid'),'pageSize':that.$get('pagesize'),'pageNo':that.$get('pageno'),'isTop':0}
    }).then(function(data){
      //赋值给alllist数组,
      that.$set('alllist',data.data.knowledgeList)
    },function(error){
      //error
     })
  }

 post方式同理

将数据绑定到dom上

<ul>
  <li v-for="item in alllist" v-if="item.istop == false">
    <a v-link="{ name: 'getReceiptDetail',params:{knowledgeId: item.id }}">
      <div class='fl know-info'>




<!-- | limit 和 | timer是filter 在后续会说到-->





<!--字段含义: -->
        <p class='font-normal nomal-height'>{{item.title | limit 30 }}</p>         




  <p class='co9a9a9a' ><span style='margin-right: 1rem;'>{{item.viewTimes}}K</span><span>{{item.publishTime | timer }}</span></p> <!--viewTimes:有多少人查看 , publishTime:发布时间-->
      </div>
      <div class='fr know-img'>
        <img v-bind:src=item.coverImage />
      </div>
      <div class='clearfix'></div>
    </a>
  </li>
</ul>

在vue-validator中做post示例 , 将接口请求地址定义为全局详见VUEX

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
封装好的省市地区联动控件附下载
Aug 13 Javascript
js判断变量是否空值的代码
Oct 26 Javascript
jQuery 判断页面元素是否存在的代码
Aug 14 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
Dec 17 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
JavaScript必知必会(二) null 和undefined
Jun 08 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
微信小程序(订阅消息)功能
Oct 25 Javascript
微信小程序 封装http请求实例详解
Jan 16 #Javascript
详解vue-validator(vue验证器)
Jan 16 #Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
Jan 16 #Javascript
webpack入门必知必会
Jan 16 #Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 #Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 #Javascript
谈谈Vue.js——vue-resource全攻略
Jan 16 #Javascript
You might like
php获取mysql版本的几种方法小结
2008/03/25 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
js获取height和width的方法说明
2013/01/06 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
AngularJS+Node.js实现在线聊天室
2015/08/28 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
简单的编程0基础下Python入门指引
2015/04/01 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
python判断完全平方数的方法
2018/11/13 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
英国IT硬件供应商,定制游戏PC:Mesh Computers
2019/03/28 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
最受欢迎的自我评价
2013/12/22 职场文书
党员培训思想汇报
2014/01/07 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
研修第一天随笔感言
2014/02/15 职场文书
批评与自我批评总结
2014/10/17 职场文书
2015年检验科工作总结
2015/04/27 职场文书
特种设备安全管理制度
2015/08/06 职场文书
mysql数据库隔离级别详解
2022/06/16 MySQL