当前位置: 首页 > news >正文

vue3 setup展示数据

效果图
在这里插入图片描述
1.创建数据
content.js

import { reactive } from 'vue'const data = reactive({color:'red',title: '二十四节气',subTitle: '节气,是干支历中表示自然节律变化以及确立“十二月建”(月令)的特定节令。',list: [{name: "立春",content: '立春,为二十四节气之首。立,是“开始”之意;春,代表着温暖、生长。',imgUrl: require('../assets/images/01.png')},{name: "雨水",content: '雨水,是二十四节气之第2个节气。',imgUrl: require('../assets/images/02.png')},{name: "惊蛰",content: '惊蛰,是二十四节气中的第三个节气。',imgUrl: require('../assets/images/03.png')},{name: "春分",content: '春分,是二十四节气之一,春季第四个节气。',imgUrl: require('../assets/images/04.png')},{name: "清明",content: '清明,是二十四节气之一,春季的第五个节气。',imgUrl: require('../assets/images/05.png')},{name: "谷雨",content: '谷雨,是二十四节气之第6个节气,春季的最后一个节气。',imgUrl: require('../assets/images/06.png')},{name: "立夏",content: '立夏,是二十四节气中的第7个节气,夏季的第一个节气,交节时间在每年公历5月05-07日。',imgUrl: require('../assets/images/07.png')},{name: "小满",content: '小满,二十四节气中的第八个节气,也是夏季的第二个节气。',imgUrl: require('../assets/images/08.png')},{name: "芒种",content: '芒种,是二十四节气之第九个节气,夏季的第三个节气,干支历午月的起始。',imgUrl: require('../assets/images/09.png')},{name: "夏至",content: '夏至,是二十四节气的第10个节气。',imgUrl: require('../assets/images/10.png')},{name: "小暑",content: '小暑,是二十四节气之第十一个节气,干支历午月的结束以及未月的起始。',imgUrl: require('../assets/images/11.png')},{name: "大暑",content: '大暑,是二十四节气中的第十二个节气,也是夏季最后一个节气。',imgUrl: require('../assets/images/12.png')},{name: "立秋",content: '立秋,是“二十四节气”之第十三个节气,也是秋季的起始。',imgUrl: require('../assets/images/13.png')},{name: "处暑",content: '处暑,是二十四节气之第十四个节气,也是秋季的第二个节气。',imgUrl: require('../assets/images/15.png')},{name: "白露",content: '白露,是“二十四节气”中的第15个节气,秋季第3个节气,干支历申月的结束与酉月的起始。',imgUrl: require('../assets/images/16.png')},{name: "秋分",content: '秋分,是二十四节气之第十六个节气,秋季第四个节气。',imgUrl: require('../assets/images/17.png')},{name: "寒露",content: '寒露,是二十四节气之第十七个节气,秋季的第五个节气。',imgUrl: require('../assets/images/18.png')},{name: "霜降",content: '霜降,是二十四节气中的第十八个节气,秋季的最后一个节气。',imgUrl: require('../assets/images/19.png')},{name: "立冬",content: '立冬,是二十四节气之第十九个节气,也是冬季的起始。',imgUrl: require('../assets/images/20.png')},{name: "小雪",content: '小雪,是二十四节气中的第20个节气,冬季第2个节气。',imgUrl: require('../assets/images/21.png')},{name: "大雪",content: '大雪,是二十四节气中的第21个节气,冬季的第三个节气。',imgUrl: require('../assets/images/22.png')},{name: "冬至",content: '冬至,又称日南至、冬节、亚岁等,兼具自然与人文两大内涵,既是二十四节气中一个重要的节气,也是中国民间的传统祭祖节日。',imgUrl: require('../assets/images/23.png')},{name: "小寒",content: '小寒,是二十四节气中的第23个节气,冬季的第5个节气,干支历子月的结束与丑月的起始。',imgUrl: require('../assets/images/24.png')},{name: "大寒",content: '大寒,是二十四节气中的最后一个节气。',imgUrl: require('../assets/images/25.png')}]
})export default data

2.在app.vue 引入

<template><div id="app"><h3 class="title">{{ data.title }}</h3><div class="subtitle">{{ data.subTitle }}</div></div>
</template><script setup>
import data from "./stare/content.js";
</script>

3封装成组件headTitle

headTitle.vue

<template><h3 class="title">{{ title }}</h3><div class="subtitle">{{ subTitle }}</div>
</template>
<script setup>
import { defineProps } from "vue";
defineProps({title: {type: String,default: "默认标题",},subTitle: {type: String,default: "默认子标题",}
});
</script>

app.vue

<template><div id="app"><headTitle :title="data.title" :subTitle="data.subTitle" /></div>
</template>
<script setup>
import data from "./stare/content.js";
import headTitle from "./headTitle.vue"
</script>

4列表循环

app.vue

<template><div id="app"><headTitle :title="data.title" :subTitle="data.subTitle" /><div class="cont"><div v-for="(item, index) in data.list" :key="index" class="list"><div class="img"><img :src="item.imgUrl" /></div><div class="name">{{ item.name }}</div><div class="content">{{ item.content }}</div></div></div></div>
</template>
<script setup>
import data from "./stare/content.js";
import headTitle from "./headTitle.vue"
</script>

5封装list 内容
list.vue

<template><div class="cont"><div v-for="(item, index) in list" :key="index" class="list"><div class="img"><img :src="item.imgUrl" /></div><div class="name">{{ item.name }}</div><div class="content">{{ item.content }}</div></div></div>
</template>
<script setup>
import { defineProps } from "vue";
defineProps({list: {type: Array},
});
</script>

app.vue

<template><div id="app"><headTitle :title="data.title" :subTitle="data.subTitle" /><list :list="data.list"/></div>
</template>
<script setup>
import data from "./stare/content.js";
import headTitle from "./headTitle.vue"
import list from "./list.vue"
</script>

6封装 headTitle 和 list
cont.vue

<template><div :style="{ color: color }">ppp</div><headTitle :title="datas.title" :subTitle="datas.subTitle" /><listComponent :list="datas.list" />
</template>
<script setup>
import headTitle from "./headTitle.vue";
import listComponent from "./list.vue";
import { computed, defineProps } from "vue";
const props = defineProps({datas: {type: Object,default: () => ({}),},
});
console.log(props.datas.color);
const color = computed(() => {return  props.datas.color;
});
</script>
<style>
</style>

app.vue 模拟api 请求数据

<template><div id="app"><cont :datas="data"></cont></div>
</template><script setup>
import { ref } from "vue";
import cont from "./components/cont.vue";
const data = ref({});
setTimeout(() => {import("./stare/content.js").then((res) => {console.log(res.default);data.value = res.default;});
}, 1000);
</script>
http://www.lryc.cn/news/237289.html

相关文章:

  • 原理Redis-Dict字典
  • 卷积神经网络(VGG-19)灵笼人物识别
  • MQTT协议详解
  • WordPress画廊插件Envira Gallery v1.9.7河蟹版下载
  • 认识前端包常用包管理工具(npm、cnpm、pnpm、nvm、yarn)
  • 使用树莓派学习Linux系统编程的 --- 库编程(面试重点)
  • vs2017打开工程提示若要解决此问题,请使用以下选择启动 Visual Studio 安装程序: 用于 x86 和 x64 的 Visual C++ MFC
  • Redis学习笔记17:基于spring data redis及lua脚本批处理scan指令查询永久有效的key
  • 今天遇到Windows 10里安装的Ubuntu(WSL)的缺点
  • hive sql多表练习
  • 论文速览 Arxiv 2023 | DMV3D: 单阶段3D生成方法
  • 访问限制符说明面向对象的封装性
  • python趣味编程-5分钟实现一个贪吃蛇游戏(含源码、步骤讲解)
  • 如何在虚拟机的Ubuntu22.04中设置静态IP地址
  • 代码随想录算法训练营第二十九天| 491 递增子序列 46 全排列
  • (动手学习深度学习)第13章 实战kaggle竞赛:CIFAR-10
  • Go 语言中的map和内存泄漏
  • 前缀和(c++,超详细,含二维)
  • 详解FreeRTOS:二值信号量和计数信号量(高级篇—2)
  • 持续集成交付CICD:Jenkins通过API触发流水线
  • 【Python】12 GPflow安装
  • Ubuntu源码编译gdal3.6.2
  • 【LeetCode】160. 相交链表
  • 数据集笔记:NGSIM (next generation simulation)
  • 解决docker运行elastic服务端启动不成功
  • mysql数据库中mysql database 数据被破坏产生的一系列问题
  • 基于变形卷积和注意机制的带钢表面缺陷快速检测网络DCAM-Net(论文阅读笔记)
  • 05-Spring Boot工程中简化开发的方式Lombok和dev-tools
  • AIGC 技术在淘淘秀场景的探索与实践
  • ANSYS网格无关性检查