vue3 setup展示数据

news2024/11/16 10:25:59

效果图
在这里插入图片描述
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.coloradmin.cn/o/1231775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB | 官方举办的动图绘制大赛 | 第二周赛情回顾

今天带来一下MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)的最新进展&#xff01;&#xff01;目前比赛已经进行了两周非常荣幸能够成为第一周的阶段性获奖者&#xff1a; 本来并不打算每周进行一次赛况讲解&#xff0c;但是由于字符限制改成了2000&…

竞赛 题目:基于深度学习的中文汉字识别 - 深度学习 卷积神经网络 机器视觉 OCR

文章目录 0 简介1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 简介 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的中文汉字识别 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &a…

原理Redis-Dict字典

Dict 1) Dict组成2) Dict的扩容3) Dict的收缩4) Dict的rehash5) 总结 1) Dict组成 Redis是一个键值型&#xff08;Key-Value Pair&#xff09;的数据库&#xff0c;可以根据键实现快速的增删改查。而键与值的映射关系正是通过Dict来实现的。 Dict由三部分组成&#xff0c;分别…

MobaXterm如何连接CentOS7的Linux虚拟机?Redis可视化客户端工具如何连接Linux版Redis?

一、打开Lunix虚拟机,进入虚拟机中,在终端中输入ifconfig,得到以下信息&#xff0c;红框中为ip地址 二、打开MobaXterm&#xff0c;点击session 选择SSH&#xff0c;在Remote host中输入linux得到的IP地址&#xff0c;Specify username中可起一个任意的连接名称。 输入密码 四、…

YOLO改进系列之注意力机制(GAM Attention模型介绍)

模型结构 为了提高计算机视觉任务的性能&#xff0c;人们研究了各种注意力机制。然而以往的方法忽略了保留通道和空间方面的信息以增强跨维度交互的重要性。因此&#xff0c;liu提出了一种通过减少信息弥散和放大全局交互表示来提高深度神经网络性能的全局注意力机制。作者的目…

一起Talk Android吧(第五百五十五回:Retrofit中的注解)

文章目录 1. 概念介绍2. 注解的分类与功能2.1 方法类注解2.2 参数类注解3. 内容总结各位看官们大家好,上一回中分享了一个Retrofit使用错误的案例,本章回中将 介绍Retrofit请求中的注解。闲话休提,言归正转,让我们一起Talk Android吧! 1. 概念介绍 我们在前面章回中介绍R…

这些来自各领域的全新机器人技术,你了解吗?

原创 | 文 BFT机器人 01 人机交互的新工具 在人机交互领域&#xff0c;来自欧洲各地的研究人员开发了一种名为HEUROBOX的新工具&#xff0c;用于评估交互。HEUROBOX提供了84个基本启发式和228个高级启发式&#xff0c;用于评估人机交互的各个方面&#xff0c;如安全性、人体工…

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决

问题描述&#xff1a;Failed to initialize end point associated with ProtocolHandler ["http-bio-80"] java.net.BindException: Address already in use: NET_Bind <null>:80 在学习springmvc的时候&#xff0c;跟着黑马视频进行学习&#xff0c;结果&…

vue.js 短连接 动态连接

有这么一种场景&#xff0c;我们实现了某个业务&#xff0c;现在需要将这个业务连接对外推广以期实现我们的运营、推广、佣金目的&#xff0c;那么我们如何实现呢&#xff1f; 比如这个页面连接为&#xff1a; https://mp.domain.com/user/creation/editor?spm1&userno12…

车辆限迁查询API——查询您的车辆是否限制迁入迁出

随着城市的快速发展和人们生活水平的提高&#xff0c;车辆的使用量也不断增加。而随之而来的问题也愈发突出&#xff0c;其中之一就是车辆的限迁问题。 比如&#xff0c;在一些大城市&#xff0c;为了减少交通拥堵和空气污染&#xff0c;政府采取了限制车辆迁入迁出的措施&…

值得学习的演示文稿制作范例

1,在第一张幻灯片前插入1张新幻灯片,设置幻灯片大小为“全屏显示(16:9) ”;为整个演示文稿应用“离子会议室”主题,放映方式为“观众自行浏览”;除了标1题幻灯片外其它每张幻灯片中的页脚插入“晶泰来水晶吊坠”七个字。 2,第一张幻灯片的版式设置为“标题幻灯片”,主标题为“…

考情实况系列:把控考场节奏,从容拿下Datacom HCIE认证

大家好&#xff0c;我是誉天的数通学员&#xff0c;前段时间刚刚通过了HCIE认证考试&#xff0c;这里给大家分享一下我的考试经验与心得&#xff0c;希望对大家有所帮助。 我预约的是11月3日的杭州考场&#xff0c;考试前一天我就到了杭州&#xff0c;在中医药大学地铁站边上的…

接口测试知识点问答

一.什么是接口&#xff1f; 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点&#xff0c;定义特定的交互点&#xff0c;然后通过这些交互点来&#xff0c;通过一些特殊的规则也就是协议&#xff0c;来进行数据之间的交互。 二.接口都有哪些类型&#xff1f…

难转型、难增长、难赚钱,智能家居下半场,渠道商的出路在哪里?

脱下皇帝的新衣&#xff0c;大部分代理商不赚钱 “我去年入局智能家居&#xff0c;到现在为止&#xff0c;还处于投入阶段。”一位新入局智能家居不到一年的集成商深夜给智哪儿打来了电话。说得好听一点&#xff0c;是还处于投入阶段&#xff0c;用大白话翻译一下&#xff0c;就…

【HarmonyOS】鸿蒙应用开发基础认证题目

系列文章目录 【HarmonyOS】鸿蒙应用开发基础认证题目&#xff1b; 文章目录 系列文章目录前言一、判断题二、单选题三、多选题总结 前言 随着鸿蒙系统的不断发展&#xff0c;前不久&#xff0c;华为宣布了重磅消息&#xff0c;HarmonyOS next 开发者版本会在明年&#xff08;…

预约按摩小程序功能及使用指南;

小程序预约按摩功能及使用指南&#xff1a; 1. 注册登录&#xff1a;用户可选择通过账号密码或微信一键登录&#xff0c;便捷注册&#xff0c;轻松管理预约服务。 2. 查找店铺&#xff1a;展示附近的按摩店铺信息&#xff0c;用户可根据需求选择合适的店铺进行预约。 3. 选择服…

Postman中断言!

用例管理 1.在测试活动中, 针对需求和接⼝⽂档进⾏⽤例设计时, 我们会发现针对⼀个需求或⼀个接⼝要考虑多种 情况, 设计的⽤例要尽量覆盖需求. 在接⼝测试中, 如果使⽤ ⼯具(postman, Jmeter)实现, 需要对⽤例进⾏ 管理。 1 2 3 1.创建项目&#xff08;系统&#xff09;点击…

数据集笔记:NGSIM (next generation simulation)

1 数据集介绍 数据介绍s Next Generation Simulation (NGSIM) Open Data (transportation.gov) 数据地址&#xff1a;Next Generation Simulation (NGSIM) Vehicle Trajectories and Supporting Data | Department of Transportation - Data Portal 时间2005年到2006年间地…

【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵

专栏系列文章如下&#xff1a; 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 本章将介绍视觉SLAM的基本问题之一&#xff1a;如何描述刚体在三维空间中的运动&#xff1f; 旋转矩阵 点、向量和坐标系 三维空间由3个轴组成&…

JMeter使用与结果分析

1.如何得到可靠的测试报告&#xff1f; 以上我们便完成了一次简单的测试案例&#xff0c;但我们的测试还未结束。我们需要对测试结果进行分析&#xff0c;但是在真实项目中上述的测试结果是不可靠的&#xff0c;只能用作调试。你如果细心的话&#xff0c;应该能在运行Jmeter的…