详解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代码压缩器
Oct 12 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
jQuery获得字体颜色16位码的方法
Feb 20 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
laydate 显示结束时间不小于开始时间的实例
Aug 11 Javascript
使用JS和canvas实现gif动图的停止和播放代码
Sep 01 Javascript
ES6 javascript的异步操作实例详解
Oct 30 Javascript
vue中的计算属性的使用和vue实例的方法示例
Dec 04 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 Javascript
jquery实现烟花效果(面向对象)
Mar 10 jQuery
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 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
Php header()函数语法及使用代码
2013/11/04 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
python实现定时播放mp3
2015/03/29 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
浅谈五大Python Web框架
2017/03/20 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
python实现在线翻译功能
2020/03/03 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
美国现代家具购物网站:LexMod
2019/01/09 全球购物
幼师自荐信
2013/10/26 职场文书
外贸实习生自荐信范文
2013/11/24 职场文书
图书室管理制度
2014/01/19 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
预备党员公开承诺书
2014/05/28 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
地道战观后感300字
2015/06/04 职场文书
小学信息技术教学反思
2016/02/16 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
详解JS数组方法
2021/11/20 Javascript