Vue3——组件基础

组件基础


1. 组件定义与使用
1.1 代码
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>组件基础</title><script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body><div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>1. 组件定义与使用</h2><!-- 3. 将组件用标签表示 --><div id="app"><abc></abc><p>===============================</p><abc></abc></div><script>// 1. 定义组件,与定义数据对象的差别是template选项const x = {data(){return{count: 0}},template: `<button @click='count++'>点击{{count}}次</button>`}const app = Vue.createApp({})// 将数据绑定到对象中app.component('abc',x)app.mount('#app')</script></div>
</body>
</html>
1.2 效果图

在这里插入图片描述

在这里插入图片描述

2. 局部组件与全局组件
2.1 代码
    <div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>2. 局部组件与全局组件</h2><div id="app2"><p>(1)组件counter</p><counter></counter><br><br><p>(2)这个组件中调用全局组件counter</p><my-message></my-message></div><script>// 注册组件counterconst counter = {data(){return{count: 0}},template: `<button @click="count++">您点击了{{count}}次</button>`}// 注册组件my-messageconst message = {data(){return{msg: '第二组件'}},// 在这个组件中调用全局组件countertemplate: `<div border=1>{{msg}}<br><counter></counter></div>`}// 实例化 放在实例对象里面声明的组件为局部组件const app2 = Vue.createApp({data(){return{msg: 'Vue全局组件与局部组件'}},// 放在实例中的components属性中就是局部组件components: {'my-message': message}})// 放在实例外面并且用component函数注册的组件就是全局组件// 全局组件可以在其他的组件中使用app2.component('counter',counter)app2.mount('#app2')</script></div>
2.2 效果图

在这里插入图片描述

在这里插入图片描述

3. 父组件与子组件
3.1 代码
    <div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>3. 父组件与子组件</h2><div id="app3"><my-box></my-box></div><!-- 在A组件里面又嵌套了B组件,A称之为父组件 ,B称之为子组件 --><script>const counter3 = {data(){return{x: 0}},template: `<button @click='x++'>单击{{x}}次</button>`}const box = {template: `<div style="height: 300px;width: 300px;background: wheat;text-align: center;"><counter3></counter3></div>`,// 将组件counter设置为box组件的子组件components: {counter3: counter3}}const app3 = Vue.createApp({})app3.component('my-box',box)app3.mount('#app3')</script></div>
3.2 效果图

在这里插入图片描述

在这里插入图片描述

4. 父组件传值给子组件(props属性的使用)
4.1 代码
    <div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2> 4. 父组件传值给子组件(props属性的使用)</h2><div id="app4"><!-- 3.属性传值,父组件传值给子组件 --><my-box4 :name="name" :colleges="colleges"></my-box4></div><script>const mybox4 = {//1.通过props来接收父组件传值props: ['name', 'colleges'],template: `<div><p>{{name}}</p><ul><li v-for="item in colleges">{{item}}</li></ul></div>`}const app4 = Vue.createApp({// 2.在父组件中设置值data() {return {name: '王五',colleges: ['语文', '数学', '英语', '化学']}},components: {"my-box4": mybox4}})app4.mount('#app4')</script></div>
4.2 效果图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5. 事件发射: 子组件传值给父组件
5.1 代码
    <div style="border: 1px solid #949494;padding: 20px;margin-top: 10px;"><h2>5. 事件发射: 子组件传值给父组件</h2><template id="box5"><div style="background-color: antiquewhite;width: 200px;height: 200px;"><button @click="myfun">点击</button></div></template><div id="app5" style="background-color: rgb(224, 215, 250);width: 300px;height: 300px;padding: 20px;"><!-- 4.子组件标签中捆绑事件 --><my-box5 @box-click="boxclick"></my-box5></div><script>const mybox5 = {template: `#box5`,methods: {// 1.子组件定义事件myfun(){const dataobj = {name: '李四',info: 'my name is lisi'}// 2.在子组件中通过$emit方法定义事件发射,第一个参数为事件名,第二参数为数据this.$emit('box-click',dataobj)}}}Vue.createApp({//  3.父组件中定义接收事件发射的方法methods: {boxclick(data){console.log(data)}},components: {"my-box5": mybox5}}).mount('#app5')</script></div>
5.2 效果图

在这里插入图片描述
点击后
在这里插入图片描述

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

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

相关文章

Docker - 镜像、容器、仓库

原文地址&#xff0c;使用效果更佳&#xff01; Docker - 镜像、容器、仓库 | CoderMast编程桅杆Docker - 镜像、容器、仓库 提示 这个章节涉及到 Docker 最核心的知识&#xff0c;也是在使用过程中最常使用到的&#xff0c;需要重点学习。 什么是Docker镜像、容器、仓库&…

leetcode:438. 找到字符串中所有字母异位词

给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&#xff09;。 示例 1: 输入: s "cbaebabacd", p "…

前端工程化01-复习jQuery当中的AJAX

4.1、基础概念 什么是服务器 一台存储网站内容、网站文件的电脑 什么是资源 网站中使用的文件&#xff08;html、css、图片、…&#xff09;这些东西就叫做资源数据也是服务器上的资源&#xff0c;而且是一个网站的灵魂 客户端 客户端应该指上网的设备但是在前端开发中&a…

Web后端-请求响应

黑马程序员JavaWeb开发教程 文章目录 一、请求1、简单参数2、实体参数3、数组集合参数&#xff08;1&#xff09;数组参数&#xff08;2&#xff09;集合参数 4、日期参数5、json参数&#xff08;1&#xff09;在Postman中怎么发起请求来传递JSON格式的请求参数&#xff08;2&a…

NLOS中如何提取出首达路径

在非视距&#xff08;NLOS&#xff0c;Non-Line-of-Sight&#xff09;通信系统中&#xff0c;首达路径&#xff08;First Arrival Path&#xff09;的提取对于信号定位、信道估计以及通信质量的提升具有至关重要的作用。首达路径通常指的是信号从发射端传播到接收端时所经历的第…

精通MongoDB聚合操作API:深入探索高级技巧与实践

MongoDB 聚合操作API提供了强大的数据处理能力&#xff0c;能够对数据进行筛选、变换、分组、统计等复杂操作。本文介绍了MongoDB的基本用法和高级用法&#xff0c;高级用法涵盖了setWindowFields、merge、facet、expr、accumulator窗口函数、结果合并、多面聚合、查询表达式在…

卷王问卷考试系统/SurveyKing调查系统源码

SurveyKing是一个功能强大的开源调查问卷和考试系统&#xff0c;它能够快速部署并适用于各个行业。 这个系统提供了在线表单设计、数据收集、统计和分析等功能&#xff0c;支持20多种题型&#xff0c;提供多种创建问卷的方式和设置。 项 目 地 址 &#xff1a; runruncode.c…

nn.Sequential与tensorflow的Sequential对比

nn.Sequential() 是 PyTorch 深度学习框架中的一个类&#xff0c;用于按顺序容器化模块。nn.Sequential 是一个有序的容器&#xff0c;它包含多个网络层&#xff0c;数据会按照在构造函数中传入顺序依次通过每个层。在 nn.Sequential 中&#xff0c;不需要定义 forward 方法&am…

C++相关概念和易错语法(7)(初始化列表、隐式类型转换、友元)

1.初始化列表 初始化列表是集成在构造函数里面的&#xff0c;对象在创建的时候一定会调用构造函数&#xff08;就算不显式定义&#xff0c;也会自动生成并调用&#xff09;。初始化列表就是这些对象的成员变量在创建的时候初始化的地方。 下面是使用的例子&#xff0c;可以先…

Prompt学习笔记(一)

提示工程是什么&#xff1f; 提示工程是指在使用生成式人工智能&#xff08;Generative AI&#xff09;&#xff0c;如 ChatGPT、Midjourney 时&#xff0c;编写高效、准确的提示的过程。 大语言模型是什么&#xff1f; 既然要和大语言模型交流&#xff0c;那么我们就有必要…

香港服务器_免备案服务器有哪些正规的?企业、建站方向

香港服务器&#xff0c;是最受欢迎的外贸、企业建站服务器&#xff0c;在个人建站领域&#xff0c;香港服务器、香港虚拟主机都是首选的网站服务器托管方案&#xff0c;不仅其具备免备案的特点&#xff0c;而且国内外地区访问速度都很快。那么&#xff0c;现今2024年个人和企业…

项目如何部署

我们平常写的项目通常只能在本机上运行&#xff0c;要想项目能被远程访问就不得不谈到项目部署的知识&#xff0c;接下来我通过实际操作的操作让大家来上线一个vuespringBoot项目。 1.在windows上将vue部署到nginx服务器上 介绍nginx Nginx是一款高性能的Web服务器和反向代理服…

设计模式学习(七)——《大话设计模式》

文章目录 设计模式学习&#xff08;七&#xff09;——《大话设计模式》工作原理工作流程示例 工作策略模式的应用场景策略模式的优点策略模式的缺点示例代码&#xff08;Python&#xff09; 策略模式UML类图具体应用和使用场景支付方式选择数据压缩工具表单验证路由算法日志记…

C#语法知识之循环语句

5、循环语句 文章目录 1、while思考1 斐波那契数列思考2 判断一个数是否为质数思考3 找出100以内的质数 2、do...while3、for思考1 找水仙花数思考2 乘法表 1、while 1、作用 让代码重复去执行 2、语法相关 while(bool类型值){//当满足条件时&#xff0c;就会执行while语句…

【GIS教程】ArcGIS做日照分析(附练习数据下载)

我国对住宅日照标准的规定是:冬至日住宅底层日照不少于1小时或大寒日住宅层日照不少于2小时(通常以当地冬至日正午12时的太阳高度角作为依据)。因冬至日太阳高度角最低&#xff0c;照射范围最小&#xff0c;如果冬至日12&#xff1a;00建筑物底层能够接收到阳光&#xff0c;那么…

Python数据可视化库—Bokeh与Altair指南

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在数据科学和数据分析领域&#xff0c;数据可视化是一种强大的工具&#xff0c;可以帮助我们…

Docker - HelloWorld

原文地址&#xff0c;使用效果更佳&#xff01; Docker - HelloWorld | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-helloworld.html 开始之前 在学习本小节之前&#xff0c;你必须确保你正确安装了 Docker&#xff0c;正确安装 Docker 是后续学习的…

墨子web3实时周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团&#xff0c;凭借其在前沿科技领域的深耕不辍&#xff0c;已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻&#xff0c;集团于今年四月末震撼推出了颠覆性的Web3全套解决方案&#xff0c;…

第十五届蓝桥杯题解-握手

题目大意&#xff1a;有50个人组成的派对&#xff0c;每个人都要与其他所有人进行握手&#xff0c;但其中有7个人之间互相不握手&#xff0c;求握手多少次&#xff0c;a与b握手即b与a握手 思路&#xff1a;规定前7个人互相不握手&#xff0c;两重for循环暴力就好 代码&#x…

java通过maven导入本地jar包的三种方式

一、引入lib下加载&#xff08;加载过后打包&#xff0c;以后再次使用不用再次导入&#xff09; 首先创建一个用于创建jar包的项目&#xff0c;并测试能否成功运行 讲项目打包 在需要引入的项目中创建lib目录 并把刚才打包的jar复制进去 通过dependency引入jar包 groupId、art…