山西农业大学20241029

08-VUE

    • 一. 组件化开发项目
      • 1. 准备工作
      • 2. 开发思路
      • 3. 拆分页面图
      • 4. App.vue
      • 5. 项目优化 - 全局注册两个小组件
    • 二. 组件三大组成部分细节
      • 1. 样式设置
      • 2. data必须是一个函数
        • 2.1 原因

一. 组件化开发项目

1. 准备工作

  1. 将准备好的App.vue中的内容复制到项目中
  2. 将图片保存到assets下的images下
  3. 在main.js中引入css样式
    import './styles/base.css'
    import './styles/common.css'
    import './styles/index.css'

2. 开发思路

  1. 分析页面, 按照模块拆分组件, 搭架子(局部注册或全局注册)
  2. 根据设计图, 编写html结构, css样式 – 已准备
  3. 拆分封装通用的小组件

3. 拆分页面图

XtxShortCut
XtxHeaderNav
XtxBanner
XtxNewGoods
XtxHotBrand
XtxTopic
XtxFooter

XtxShortCut => 快捷链接
XtxHeaderNav => 顶部导航
XtxBanner => 轮播区域
XtxNewGoods => 新鲜好物
XtxHotBrand => 热门品牌
XtxTopic => 最新专题
XtxFooter => 版权底部

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. App.vue

<template><div class="App"><!-- 快捷链接组件 --><XtxShowrtCut></XtxShowrtCut><!-- 头部导航组件 --><XtxHeaderNav></XtxHeaderNav><!-- 轮播区组件 --><XtxBanner></XtxBanner><!-- 新鲜好物组件 --><XtxNewGoods></XtxNewGoods><!-- 热门品牌组件 --><XtxHotBrand></XtxHotBrand><!-- 最新专题组件 --><XtxTopic></XtxTopic><!-- 版权底部组件 --><XtxFooter></XtxFooter></div>
</template><script>
// 导入组件
import XtxShowrtCut from './components/XtxShowrtCut.vue';
import XtxHeaderNav from './components/XtxHeaderNav.vue';
import XtxBanner from './components/XtxBanner.vue';
import XtxNewGoods from './components/XtxNewGoods.vue';
import XtxHotBrand from './components/XtxHotBrand.vue';
import XtxTopic from './components/XtxTopic.vue';
import XtxFooter from './components/XtxFooter.vue';
export default {// 注册组件components: {XtxShowrtCut,XtxHeaderNav,XtxBanner,XtxNewGoods,XtxHotBrand,XtxTopic,XtxFooter}
}
</script><style></style>

5. 项目优化 - 全局注册两个小组件

BaseGoodsItem

<template><li class="base-goods-item"><a href="#"><div class="pic"><img src="@/assets/images/goods1.png" alt="" /></div><div class="txt"><h4>KN95级莫兰迪色防护口罩</h4><p>¥ <span>79</span></p></div></a></li>
</template><script>
export default {}
</script><style>
.base-goods-item {width: 304px;height: 404px;background-color: #EEF9F4;
}.base-goods-item {display: block;
}.base-goods-item .pic {width: 304px;height: 304px;
}.base-goods-item .txt {text-align: center;
}.base-goods-item h4 {margin-top: 17px;margin-bottom: 8px;font-size: 20px;
}.base-goods-item p {font-size: 18px;color: #AA2113;
}.base-goods-item p span {font-size: 22px;
}
</style>

BaseBrandItem

<template><li class="base-brand-item"><a href="#"><img src="@/assets/images/hot1.png" alt="" /></a></li>
</template><script>
export default {}
</script><style>
.base-brand-item {width: 244px;height: 306px;
}
</style>

二. 组件三大组成部分细节

在这里插入图片描述

1. 样式设置

BaseOne.vue

<template><div class="base-one">BaseOne</div>
</template><script>
export default {}
</script><style scoped>
/*1. style样式,默认是作用到全局的2. 加上scoped属性可以将样式变为局部样式组件都应该有自己的样式, 推荐加scoped---------------------------------scoped原理:1. 给当前组件模板的所有元素,都会添加一个自定义属性data-v-hash值data-v-5f6a9d56  --- 区分不同组件2. css选择器后,被自动处理,添加属性选择器div[data-v-5f6a9d56]{}
*/
div {border: 3px solid red;margin: 30px;
}
</style>

BaseTwo.vue

<template><div class="base-two">BaseTwo</div>
</template><script>
export default {}
</script><style scoped>
div {border: 3px solid skyblue;margin: 30px;
}
</style>

2. data必须是一个函数

2.1 原因

目的: 保证每个组件实例,维护独立的一份数据对象
每次创建新的数组实例, 都会新执行一次data函数, 得到一个新的对象
在这里插入图片描述
BaseCount.vue

<template><div class="base-count"><button @click="count--">-</button><span>{{ count }}</span><button @click="count++">+</button></div>
</template><script>
export default {// data:{ }// data必须是一个函数// 目的: 保证每个组件实例, 维护独立的一份数据data: function () {return {count: 100}}
}
</script><style>
.base-count {margin: 20px;
}
</style>

App.vue

<template><div class="App"><!-- 没运行一次实例, 都会重新执行一次data函数 --><BaseCount></BaseCount><BaseCount></BaseCount><BaseCount></BaseCount></div>
</template><script>
import BaseCount from './components/BaseCount.vue';
export default {components: {BaseCount}
}
</script><style></style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/459275.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Boot】元注解

元注解 1.元注解1.1 Target1.2 Retention1.3 Inherited1.4 Documented1.5 interface 2.自定义注解2.1 创建自定义注解类2.2 实现业务逻辑2.3 使用自定义注解 1.元注解 元注解就是定义注解的注解&#xff0c;是 Java 提供的用于定义注解的基本注解。 注解 说明 Retention是注解…

如何使用 Vite 创建一个项目(Vue 或者 React)

如何使用 vite 创建一个 Vue 或者 React 项目&#xff1f; 打开终端&#xff0c;输入命令 npm create vitelatest外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传 修改你需要的项目名 选择你要创建的项目的框架&#xff08;Vue 还是 React 这是个问题&am…

医学影像基础:常见的医学影像学术语和概念

目录 1. 基本影像术语 2. X射线相关术语 3. CT相关术语 4. MRI相关术语 5. 超声相关术语 6. 核医学相关术语 7. 影像质量和技术术语 8. 临床影像术语 总结 在医学影像学中&#xff0c;有许多术语和概念是常用且重要的。了解这些术语和概念有助于更好地理解影像报告、与…

Linux 读者写者模型

1.背景概念 在编写多线程的时候&#xff0c;有一种情况是十分常见的。那就是&#xff0c;有些公共数据修改的机会比较少。相比较改写&#xff0c;它们读的机会反而高的多。这样就衍生出了读者写者模型&#xff0c;在这个模型中&#xff0c;有两类线程&#xff1a;读者和写者。读…

Linux补基础之:网络配置

目录 一、检查主机与虚拟机是否能正常通信 二、网络的连接模式 桥接模式 流程 特点 NAT模式 流程 特点 仅主机 流程 特点 三、修改静态IP 四、可能遇到的问题 防火墙 DNS 五、主机名更改 六、登录服务器 实际的大数据管理中&#xff0c;会有由很多服务器构成的…

使用AMD GPU和LangChain构建问答聊天机器人

Question-answering Chatbot with LangChain on an AMD GPU — ROCm Blogs 作者&#xff1a;Phillip Dang 2024年3月11日 LangChain是一个旨在利用语言模型强大功能来构建前沿应用程序的框架。通过将语言模型连接到各种上下文资源并基于给定的上下文提供推理能力&#xff0c;L…

蓝海创意云入选中国夏衍电影学会工业与科技影视专业委员会成员单位

党的二十届三中全会指出&#xff0c;科技自立自强是中国式现代化的有力保障。科技兴则民族兴&#xff0c;科技强则国家强。为深入的贯彻落实这一重要部署&#xff0c;推动工业与科技领域的融合发展充分发挥电影艺术在传播科技创新精神、展现工业发展成就方面的独特作用&#xf…

【制造业&流水线】流水线水泥袋检测系统源码&数据集全套:改进yolo11-HSPAN

改进yolo11-RFCBAMConv等200全套创新点大全&#xff1a;流水线水泥袋检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.24 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片…

景区导航地图怎么实现?基于LBS与3D GIS的智慧景区导航导览系统技术路线

随着经济的发展和人们物质生活水平改善,居民的旅游需求呈现多元化和个性化&#xff0c;自助旅游的人越来越多。许多游客在旅游行程中需要随时随地了解旅游景点有关的各类信息&#xff0c;如旅游景点介绍、推荐路线、地图导航等&#xff0c;合理规划和安排旅游线路。正是为了应对…

【Fargo】18:camera获取及预览

QCameraViewfinder.ui 这种报错是.ui的问题, QCameraViewfinder.ui 删掉,只用ZhbCamera.ui 就好了 Build started at 0:10... 1>------ B

【C++】--------- 内存管理

目录 C语言内存管理方式&#xff1a;malloc、calloc、realloc和free C内存管理方式 new和delete 操作内置类型 操作自定义类型 operator new与operator delete函数 new和delete的实现原理 定位new表达式的了解 ​编辑 内存泄漏 C语言内存管理方式&#xff1a;malloc、…

AI大模型与智算中心:构建未来智能社会的基石

随着人工智能技术的飞速发展&#xff0c;AI大模型&#xff08;如GPT-4、BERT、LLAMA等&#xff09;在自然语言处理、图像处理、音频处理等多个领域展现出了巨大的应用潜力。这些模型不仅提高了生产效率&#xff0c;更推动了新兴应用的不断涌现。然而&#xff0c;训练和应用这些…

Java Lock CyclicBarrier 总结

前言 相关系列 《Java & Lock & 目录》&#xff08;持续更新&#xff09;《Java & Lock & CyclicBarrier & 源码》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;《Java & Lock & CyclicBarrier & 总结》&#xff08;学习总结…

VLAN聚合

VLAN聚合&#xff08;VLAN Aggregation&#xff09;是一种网络技术&#xff0c;用于在一个物理网络内通过多个VLAN&#xff08;称为Sub-VLAN&#xff09;隔离广播域&#xff0c;并将这些Sub-VLAN聚合成一个逻辑的VLAN&#xff08;称为Super-VLAN&#xff09; Super-VLAN&#…

期权懂|个股期权交易手数有限制吗?

本期让我懂 你就懂的期权懂带大家来了解&#xff0c;个股期权交易手数有限制吗&#xff1f;有兴趣的朋友可以看一下。期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 个股期权交易手数有限制吗&#xff1f; 个股期权交易&#…

shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘

查找美国安全局漏洞 nww.nsa.gov&#xff08;美国安全局官方网站) net参数使用 搜索指定的ip网段 shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24 (老美国家安全局的一个网段)可能直接访问不太行&#xff0c;可以使用host参数&#xff0c;得到域名再去…

大型商场应急响应:SpringBoot技术实现

3系统分析 3.1可行性分析 通过对本大型商场应急预案管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大型商场应急预案管理系统采用SSM框架&#xff0…

线程 在linux系统中

1.Linux线程实现 2.Linux线程的创建和终止 3.Linu线程的互斥和同步 Linux或unix系统多任务&#xff0c;线程处理大并发的客户端请求 进程是资源管理的最小单位&#xff0c;线程是程序执行的最小单位 针对在进程中的每一个操作&#xff0c;都是在后台去启动一个一个线程来执…

ImageSharp报错

错误信息 System.MissingMethodException: Method not found: System.Span1<SixLabors.ImageSharp.PixelFormats.Rgba32> SixLabors.ImageSharp.Memory.Buffer2D1.GetRowSpan(Int32).需要升级项目 原来仅升级了SixLabors.ImageSharp没有升级drawing&#xff0c;都升级到…

网站保护神器,雷池社区版的隐藏文件

SafeLine&#xff0c;中文名 “雷池”&#xff0c;是一款简单好用, 效果突出的 Web 应用防火墙(WAF)&#xff0c;可以保护 Web 服务不受黑客攻击。 雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命…