详解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 相关文章推荐
js一组验证函数
Dec 20 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
Jul 19 Javascript
jquery自动切换tabs选项卡的具体实现
Dec 24 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
JS随机打乱数组的方法小结
Jun 22 Javascript
AngularJS Ajax详解及示例代码
Aug 17 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
Mar 30 Javascript
AngularJS中table表格基本操作示例
Oct 10 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
简述ES6新增关键字let与var的区别
Aug 23 Javascript
javascript实现画板功能
Apr 12 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
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
php数组键值用法实例分析
2015/02/27 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
php微信公众平台开发类实例
2015/04/01 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
JS删除数组元素的函数介绍
2013/03/27 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
python生成ppt的方法
2018/06/07 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
python+tkinter实现学生管理系统
2019/08/20 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
百丽国际旗下购物网站:优购
2017/02/28 全球购物
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
铭立家具面试题
2012/12/06 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
应届大专毕业生个人自荐信
2013/09/22 职场文书
应聘自荐信
2013/12/14 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers