VUE3 学习笔记(7):如何简单的理解VUE 组件,并手把手实现一个嵌套组件

基本概念

VUE 最大的特点就是组件化,理解组件化可视为积木模块,其特点就是增加了复用性。把一个个.vue文件就是组件(又作SFC),组件的组合就是一个功能页。

组成部分说明

<!--内容控制(必要)-->
<template></template>
<!--JS 控制(非必要)-->
<script></script>
<!-- 样式控制 (非必要)-->
<style></style>

示例创建一个简单的VUE模板示例

  1.创建一个test.vue文件

<template><p>{{msg}}</p>
</template><script >export default {data() {return {msg: 'hello world'}}}
</script>

  2.在App.vue的JS中引用这个文件,并在template 调用这个组件

<!--内容控制-->
<template><test/>
</template>
<!--JS 控制-->
<script>
import test from "@/components/test.vue";
import {defineComponent} from "vue";
import Test from "@/components/test.vue";export default defineComponent({components: {Test}
})</script>
<!-- 样式控制 -->
<style>如果<style scoped> 则表示样式仅在当前页面生效
</style>

  效果

实践:实现一个嵌套页面

目标

  结构分析

  ST1:分别创建二级容器(组件)

head.vue

   

<template><h3>头部功能区</h3>
</template><script setup></script><style scoped>h3{width: 100%;height: 100px;border: 5px solid #999;text-align: center;line-height: 90px;box-sizing: border-box;}
</style>

left.vue

<template><div class="right"><p>菜单栏</p></div>
</template><script></script><style scoped>
.right{float: left;width: 30%;height: 400px;border: 5px solid #999;box-sizing: border-box;
}
</style>

main.vue

<template><div class="main"><h3>主要显示区</h3></div></template><script></script><style scoped>.main{float: right;width: 70%;height: 400px;border: 5px solid #999;box-sizing: border-box;}
</style>

  ST2:在一级容器中引用二级容器

app.vue

<template><top/><Main></Main><left></left>
</template>
<!--JS 控制-->
<script>
import test from "@/components/test.vue";
import {defineComponent} from "vue";
import top from "@/components/head.vue";
import Main from "@/components/main.vue";
import left from "@/components/left.vue";export default defineComponent({components: {top, Main,Right,left}
})</script>
<!-- 样式控制 -->
<style></style>

ST3:分别创建三级容器

item.vue

<template><h3> 功能菜单 </h3>
</template><script setup></script><style scoped>h3{width: 80%;margin: 0 auto;text-align: center;line-height: 100px;box-sizing: border-box;margin-top: 10px;background: #999999;}
</style>

rem.vue

<template><h3>这是内容项</h3>
</template><script setup></script><style scoped>h3{width: 80%;margin: 0 auto;text-align: center;line-height: 100px;box-sizing: border-box;margin-top: 30px ;background: #999999;}
</style>

ST4:分别在二级容器中引用二级容器

left.vue

<template><div class="right"><p>菜单栏</p><Item></Item><Item></Item><Item></Item></div>
</template><script>
import {defineComponent} from "vue";
import Item from "@/components/item.vue";
export default defineComponent({components: {Item}
})</script><style scoped>
.right{float: left;width: 30%;height: 400px;border: 5px solid #999;box-sizing: border-box;
}
</style>

main.vue

<template><div class="main"><h3>主要显示区</h3><Rem></Rem><Rem></Rem></div></template><script>
import Rem from "@/components/rem.vue";
import {defineComponent} from "vue";export default defineComponent({components: {Rem}
})</script><style scoped>.main{float: right;width: 70%;height: 400px;border: 5px solid #999;box-sizing: border-box;}
</style>

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

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

相关文章

Ubuntu 离线下载安装 Tmux(亲测有效)

昨晚跑NER模型中断了&#xff0c;今天就考虑安装下Tmux&#xff0c;但是一直安装不上&#xff0c;在尝试了好几次之后&#xff0c;终于不报错了&#xff01;&#xff01;特记录一下下载安装过程。&#xff08;我这里是离线下载安装的&#xff09; 1. 下载安装包 tmux wget ht…

微信小程序上架,AI类目审核(AI问答、AI绘画、AI换脸)

小程序对于生成式AI类目的产品上架审核较为严格&#xff0c;这也是近两年新增了几个类目&#xff0c;一旦小程序中涉及生成式AI相关的内容&#xff0c;如果你选择相应类目&#xff0c;但审核被划归为这一类&#xff0c;都需要准备此类目的审核&#xff0c;才能正常上架。 如果…

MT3049 区间按位与

思路&#xff1a; 使用ST表。ST表模板可参考MT3024 maxmin 注意点&#xff1a;此题范围较大&#xff0c;所以要避免超时。 ①使用 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 加快输入输出速度。 ②换行使用\n而不是endl 代码&#xff1a; 1.暴力6/8 #…

YOLOv10最详细全面讲解2- 目标检测-环境搭建、训练自己的数据集

YOLOv10没想到出来的如此之快&#xff0c;作为一名YOLO的爱好者&#xff0c;以YOLOv5和YOLOv8的经验&#xff0c;打算出一套从数据集装备->环境配置->训练->验证->目标追踪全系列教程。请大家多多点赞和收藏&#xff01;&#xff01;&#xff01; 系列文章&#xf…

睿联技术对亚马逊既依赖又竞争:递表前大额分红,资金充裕又补流?

《港湾商业观察》施子夫 王璐 今年3月29日&#xff0c;冲刺创业板IPO的深圳市睿联技术股份有限公司&#xff08;以下简称&#xff0c;睿联技术&#xff09;提交了注册&#xff0c;不出意外的话&#xff0c;公司离挂牌上市已经近在咫尺。 然而&#xff0c;在目前资本市场尤其…

asammdf 运行报错 “ldf is not supported”导致打不开页面解决办法

asammdf简介 asammdf 是一个用于处理和分析测量数据格式&#xff08;MDF&#xff09;文件的 Python 库。MDF 文件通常用于汽车行业&#xff0c;记录车辆中各种传感器和控制单元的数据。asammdf 提供了读取、写入和操作这些文件的工具&#xff0c;能够高效地处理大量数据。 as…

二叉树——基础知识详解

前言&#xff1a; 经过前面的学习&#xff0c;我们接下来要开始二叉树的学习&#xff0c;因二叉树有难度&#xff0c;为了方便讲解以及各位的理解&#xff0c;本节知识会分成不同的小节进行学习&#xff0c;在本阶段只学习初阶的二叉树&#xff08;堆&#xff0c;二叉数基本知识…

基于FMEA保证汽车电控系统的可靠性

随着汽车技术的飞速发展&#xff0c;电控系统已成为现代汽车的“大脑”&#xff0c;掌控着车辆的方方面面。然而&#xff0c;这一复杂的系统也面临着诸多潜在失效风险&#xff0c;如何确保汽车电控系统的可靠性&#xff0c;成为汽车制造业亟待解决的问题。幸运的是&#xff0c;…

在PyCharm中,不希望新建Python文件自动打开Python控制台

很久没更新水一下 第一步编辑配置 第二步编辑配置模板 第三步取消勾选 第四步确定

老年人健康管理系统项目部署【linux】

老年人健康管理系统项目部署【linux】 前言版权推荐老年人健康管理系统项目部署购买阿里云服务器开发票连接开放端口 安装软件查看状态1更新yum源2安装jdk83安装mysql4上传Mysql数据5安装redis6安装kakfa7安装nginx8运行命令 命令汇总1更新yum源2Jdk8安装3Mysql安装4Mysql数据5…

[JAVASE] String类 StringBuffer类 StringBuilder类

目录 一.String类 1.1 String字符串不可变的原因 1.2 字符串中的比较方法 1.2.1 equals 1.2.2 compareTo 与 compareToIgnoreCase 1.3 字符串中的查找方法 1.3.1 charAt 1.3.2 indexOf 与 lastIndexOf 1.4 字符串中的转换方法 1.4.1 valueOf 1.4.2 toUpperCase 与 to…

Anaconda虚拟环境安装Pybullet

Anaconda虚拟环境安装Pybullet 当直接使用pip install Pybullet的时候出现以下问题&#xff1a; 查看报错信息和CSDN上的许多博客教程&#xff0c;基本都在说与缺少C的依赖有关需要安装几个G的microsoft visual 我尝试使用Conda 包管理器从 conda-forge 通道安装名为 pybulle…

神经网络不确定性综述(Part V)——Uncertainty measures and quality

相关链接&#xff1a; 神经网络不确定性综述(Part I)——A survey of uncertainty in deep neural networks-CSDN博客 神经网络不确定性综述(Part II)——Uncertainty estimation_Single deterministic methods-CSDN博客 神经网络不确定性综述(Part III)——Uncertainty est…

在项目中集成Web端数据库操作:推荐工具一览

在项目中集成Web端数据库操作&#xff1a;推荐工具一览 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍…

JAVA基础|File,IO流

File类只能对文件本身进行操作&#xff0c;不能读写文件里面存储的数据 IO流就是对文件进行读写的 一. File类 &#xff08;一&#xff09;创建对象 import java.io.File;public class FileTest1 {public static void main(String[] args) {// 1. 创建一个File对象&#xff…

将AVI转换为高质量的MPEG方法!

第 1 部分&#xff1a;使用牛学长转码大师将AVI快速转换为MPEG。 牛学长转码大师是市场上第一款可用于将 AVI 转换为 MPEG 而不会造成质量损失的转换器。该工具具有大量功能&#xff0c;使其在用户中如此受欢迎。以下是一些值得一提的功能。 牛学长转码大师的主要特点&#x…

Reddit是什么?跨境独立站卖家如何用Reddit营销?

在互联网时代&#xff0c;社交媒体营销已成为品牌推广的重要手段。Reddit&#xff0c;作为一个充满活力的社区平台&#xff0c;正逐渐受到越来越多跨境独立站卖家的关注。如果你在独立站引流方面遇到瓶颈&#xff0c;不妨了解一下Reddit这个平台。本文将介绍Reddit是什么&#…

计算机电子书籍资源转载分享

这篇会很简略&#xff0c;一个博主的宝藏&#xff0c;被我发现了&#xff0c;而且是去年2023年更新的&#xff0c;里面计算机网络的第八版书籍都有&#xff08;谢希仁编著&#xff09; 这是该博主的github上面发布的&#xff1a;zhangyachen/ComputerArchitectureAndCppBooks:…

鸿蒙ArkUI-X跨语言调用说明:【平台桥接开发指南(Android)Bridge API】

arkui-x.bridge.d.ts (平台桥接) 本模块提供ArkUI端和Android或iOS平台端消息通信的功能&#xff0c;包括数据传输、方法调用和事件调用。需配套平台端API使用&#xff0c;Android侧请参考[BridgePlugin]&#xff0c;iOS侧参考[BridgePlugin]。 说明&#xff1a; 开发前请熟悉…

Jmeter 安装教程:简单易懂

随着互联网的不断发展&#xff0c;网站和应用程序的性能测试变得越来越重要。Apache JMeter 是一款广泛使用的性能测试工具&#xff0c;它强大且使用广泛&#xff0c;适用于各种性能测试需求。不论你是刚刚接触性能测试的新手&#xff0c;还是一位有经验的测试工程师&#xff0…