IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue结合Axios+v-for列表循环实现网易健康页面 -> 正文阅读

[JavaScript知识库]vue结合Axios+v-for列表循环实现网易健康页面

需求说明:

  • 完成网易健康页面的基本布局。
  • 在生命周期函数created()中使用Axios请求“网易健康”数据,数据为本地模拟的数据,详见health.json文件。

health.json文件:

链接:https://pan.baidu.com/s/1_f3rKXSEse7QoJ_FZtfGuA
提取码:2jf5

  • 遍历渲染显示“网易健康”接口数据到页面中,页面效果如图。

实现过程:

  • 在项目下安装axios:
npm i axios
  • 将health.json文件放到static文件夹下。
  • 在main.js中引入axios,并将axios挂载到vue原型。
import axios from 'axios'
// 只能把axios挂载到vue的原型上
Vue.prototype.$axios = axios;
  • 在HelloWorld.vue中使用axios调用本地模拟的health.json数据。HelloWorld.vue代码如下
<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <ul class="img">
      <li v-for="(item,index) in newsList" :key="index"><img :src=item.image /></li>
      <!-- <li><img src="@/assets/jk.jpg"/></li>
      <li><img src="../assets/jk.jpg"/></li>
      <li><img src="../assets/jk.jpg"/></li> -->
    </ul>
    <ul class="txt">
      <li v-for="(item,index) in newsList" :key="index">{{item.title}}</li>
      <!-- <li>夏季如何调养呼吸道疾病?</li>
      <li>夏季如何调养呼吸道疾病?</li>
      <li>夏季如何调养呼吸道疾病?</li> -->
    </ul>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: '网易健康',
      newsList:[]
    }
  },
  mounted() {
    // 调用后台接口获得数据
    this.$axios.get(
        "../../static/health.json"
      )
      .then(res => {
        // then()中如果只传入一个处理函数,那么默认是处理请求成功的情况
        // 打印后台获得的结果
        // console.log(res.data);
        this.newsList = res.data.slice(0,4);//只获取json数组数据的前4条数据
      })
      .catch(err => {
        // 未获得成功之后的报错信息
        console.log(err);
      });
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
*{
  margin:0;
  padding:0;
}
.hello{
  width: 1000px;
}
h1{
  font-weight: normal;
  font-size: 18px;
  width:980px;
  padding-left: 15px;
  height: 35px;
  line-height: 35px;
  background:#FFE4B5;
  margin-bottom: 20px;
}
.img li{
  float: left;
  margin-right: 10px;
  list-style: none;
}
.img img{
  width: 240px;
}
.txt li{
  float: left;
  width: 240px;
  margin-right: 10px;
  font-size: 14px;
  /* background: forestgreen; */
  text-align: center;
  list-style: none;
}
</style>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:22:38  更:2022-03-10 22:24:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:18:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码