详解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 相关文章推荐
jQuery针对各类元素操作基础教程
Aug 29 Javascript
使用iojs的jsdom库实现同步系统时间
Apr 20 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
基于jQuery实现的打字机效果
Jan 16 Javascript
深入理解 JavaScript 中的 JSON
Apr 06 Javascript
JavaScript常见继承模式实例小结
Jan 11 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
vue实现路由监听和参数监听
Oct 29 Javascript
js数组中去除重复值的几种方法
Aug 03 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 Javascript
JS实现简单贪吃蛇小游戏
Oct 28 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中将数组转成XML格式的实现代码
2011/08/08 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
2011/10/23 PHP
PHP中ini_set与ini_get用法实例
2014/11/04 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
js获取css的各种样式并且设置他们的方法
2017/08/22 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
2017/12/26 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
python实现单向链表详解
2018/02/08 Python
python实现名片管理系统
2018/11/29 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
如何基于Python创建目录文件夹
2019/12/31 Python
详解Python设计模式之策略模式
2020/06/15 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
印度在线购物网站:Paytmmall
2019/07/24 全球购物
医学生自荐信
2013/12/03 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
2014应届本科生自我评价
2014/09/13 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书