Vue如何获取数据列表展示


Posted in Javascript onDecember 11, 2019

这个例子从 Github 的 API 中获取了最新的 Vue.js 提交数据,并且以列表形式将它们展示了出来。你可以轻松地切换 master 和 dev 分支。

一、展示

Vue如何获取数据列表展示

二、源码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.7/dist/vue.js"></script>
</head>
<body>
 <div id="app">
  <h2>title</h2>
  <template v-for="(branch, index) in branches">
   <input type="radio" 
    :id=index 
    :value="branch" 
    v-model="currentBranch"
   />
   <label :for="index">{{ branch }}</label>
  </template>
  <div>当前选定:{{ currentBranch }}</div>
  <ul>
   <li v-for="item in getData">
    <a :href="item.html_url" rel="external nofollow" >{{ item.sha.slice(0, 7) }}</a>
    - <span>{{ item.commit.message }}</span><br/>
    <span>创建人:<a :href="item.author.html_url" > {{ item.commit.author.name }}</a></span><br/>
    <span>创建时间:{{ item.commit.author.date | formatDate }}</span>
   </li>
  </ul>
 </div>

 <script>
  let apiURL = 'https://api.github.com/repos/vuejs/vue/commits?per_page=3&sha='
  let vm = new Vue({
   el: '#app',
   data() {
    return ({
     branches: ['master', 'dev'],
     currentBranch: 'master',
     getData: null,   
    });
   },
   created() {
    this.fetchDate();
   },
   watch: {
    currentBranch: 'fetchDate'
   },
   filters: {
    formatDate(v) {
     return v.replace(/T|Z/g, ' ');
    }
   },
   methods: {
    fetchDate() {
     var xhr;
     if(window.XMLHttpRequest) {
      xhr = new XMLHttpRequest();
     }else {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
     let self = this;
     
     xhr.onload = function() {
      if(xhr.readyState == 4) {
       if(xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
        self.getData = JSON.parse(xhr.responseText);
       }else {
        console.error(xhr.status, xhr.statusText);
       }
      }
     }
     xhr.open('GET', apiURL + this.currentBranch);
     xhr.send(null);
    }
   },
  });
 </script>
</body>
</html>

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

Javascript 相关文章推荐
JS的反射问题
Apr 07 Javascript
jsTree 基于JQuery的排序节点 Bug
Jul 26 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
jQuery验证插件validate使用方法详解
Sep 13 Javascript
深入理解vue Render函数
Jul 19 Javascript
解决vue-cli + webpack 新建项目出错的问题
Mar 20 Javascript
微信小程序实现团购或秒杀批量倒计时
Nov 01 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
vue头部导航动态点击处理方法
Nov 02 Javascript
vue el-table实现行内编辑功能
Dec 11 #Javascript
Vue.js实现可编辑的表格
Dec 11 #Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
Dec 11 #Javascript
用JS实现一个简单的打砖块游戏
Dec 11 #Javascript
js消除图片小游戏代码
Dec 11 #Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 #Javascript
基于jQuery实现可编辑的表格
Dec 11 #jQuery
You might like
PHP生成便于打印的网页
2006/10/09 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
numpy中的高维数组转置实例
2018/04/17 Python
python实现简单日期工具类
2019/04/24 Python
Python编程中类与类的关系详解
2019/08/08 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
python利用faker库批量生成测试数据
2020/10/15 Python
通过Canvas及File API缩放并上传图片完整示例
2013/08/08 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
SQL中where和having的区别
2012/06/17 面试题
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
《桥》教学反思
2014/04/09 职场文书
党的群众路线教育实践活动调研报告
2014/11/03 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
Netty分布式客户端接入流程初始化源码分析
2022/03/25 Java/Android
MySQL的存储函数与存储过程的区别解析
2022/04/08 MySQL
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技