详解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 相关文章推荐
window.onresize 多次触发的解决方法
Nov 08 Javascript
jquery实现邮箱自动补全功能示例分享
Feb 17 Javascript
jquery对象和javascript对象即DOM对象相互转换
Aug 07 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
AngularJS基础 ng-click 指令示例代码
Aug 01 Javascript
浅谈JavaScript正则表达式-非捕获性分组
Mar 08 Javascript
vue的mixins属性详解
Mar 14 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
vue template中slot-scope/scope的使用方法
Sep 06 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
Express 配置HTML页面访问的实现
Nov 01 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
微信小程序 封装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下实现折线图效果的代码
2007/04/28 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
Yii使用技巧大汇总
2015/12/29 PHP
Jquery 弹出层插件实现代码
2009/10/24 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
2016/11/07 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
2019/09/12 Javascript
jQuery实现form表单基于ajax无刷新提交方法实例代码
2019/11/04 jQuery
React中Ref 的使用方法详解
2020/04/28 Javascript
Django Admin 实现外键过滤的方法
2017/09/29 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python实现黑客字幕雨效果
2018/06/21 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
知名企业招聘广告词大全
2014/03/18 职场文书
班长演讲稿范文
2014/04/24 职场文书
工作鉴定评语
2014/05/04 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
培养联系人考察意见
2015/06/01 职场文书
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python