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

做百度推广一定要有自已网站/全国广告投放平台

做百度推广一定要有自已网站,全国广告投放平台,上海网站建设百度推广公司,代理充值平台网站[组件]Vue3全局组件定义和复用性讲解一张图了解组件概念Vue3中根组件的讲解全局组件的定义组件的可复用性讲解全局组件的弊端总结一张图了解组件概念 我们先来看一张Vue3官方给出的图,通过图片能清楚的了解到什么是Vue中组件的一些端倪。 图的左边是一个网页&#…

[组件]Vue3全局组件定义和复用性讲解

  • 一张图了解组件概念
  • Vue3中根组件的讲解
  • 全局组件的定义
  • 组件的可复用性讲解
  • 全局组件的弊端
  • 总结

一张图了解组件概念

我们先来看一张Vue3官方给出的图,通过图片能清楚的了解到什么是Vue中组件的一些端倪。

在这里插入图片描述
图的左边是一个网页,网页分为了头部、左侧主体和右侧边栏。

这时候你用组件的概念,就可以先把这个网页分为三个大的组件,分别是头部、左侧和右侧。

然后再根据每个大组件里的内容和功能,作更加详细的组件划分。这样就可以把一个复杂的大页面,分解成一个个可以复用的小页面。

总结如下:

Vue中的组件是页面中的一部分,通过层层拼装,最终形成了一个完整的组件。这也是目前前端最流行的开发方式。

Vue3中根组件的讲解

学完理论,我们打开VSCode代码编辑器,编写一段基本的Vue3结构。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://unpkg.com/vue@next"></script>
</head>
<body><div id="app"></div>
</body>
</html>

有了这段代码,在编写相应的Vue代码。用createApp()创建Vue的实例,然后用mount()方法挂载到DOM节点上。

<script>const app=Vue.createApp({ })const vm=app.mount("#app")
</script>

这时候的 Vue.createApp 实际是建立一个Vue的实例,也就是相当于刚才说的第一个根组件。

你可以通过对象属性的形式(实际上就是方法接受一个对象实行的参数),来定义根组件的具体样式和方法。

比如在根组件上定义一个模板,然后在页面输出 willem.com 这个网址。

const app=Vue.createApp({template:`<h2>willem.com</h2>`
})

写好后,到浏览器中进行预览,可以在页面上看到willem.com这个网址。

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://unpkg.com/vue@next"></script>
</head>
<body><div id="app"></div><script>const app=Vue.createApp({template:`<h2>willem.com</h2>`})const vm=app.mount("#app")
</script>
</body>
</html>

这时候我们希望组件再多一行字,比如加上willem笔记的中文。代码可以这样编写。

template:`<h2>willem.com</h2><div>willem前端笔记</div>`

全局组件的定义

现在页面上已经有两个部分组成,<h2>willem.com</h2>和<div>willem前端笔记</div>。那这时候你就可以把这两部分拆分成两个全局的字组件。

代码如下:

app.component('website',{template:` <h2>willem.com</h2>`
})
app.component('describe',{template:` <h2>willem前端笔记</h2>`
})

组件定义好后,可以直接在根组件上进行使用。

const app=Vue.createApp({template:`<website /><describe />`
})

现在页面上元素,就被拆分了,一个根组件下面有两个子组件。

这里我们并没有什么业务逻辑,所以看起来还没有太多的作用,但是如果一旦业务逻辑复杂,我们这样拆分,会降低开发难度。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://unpkg.com/vue@next"></script>
</head>
<body><div id="app"></div><script>const app=Vue.createApp({template:`<website /><describe />`})app.component('website',{template:` <h2>willem.com</h2>`})app.component('describe',{template:` <h2>willem前端笔记</h2>`})const vm=app.mount("#app")
</script>
</body>
</html>

在这里插入图片描述

组件的可复用性讲解

现在要做的事情是定义一个新的计数组件 -count,每次点击按钮,组件中的count变量自动加1

app.component('count',{data(){return{count:0}},template:`<div>{{count}}<button @click="count++">增加1</button></div>`
})

写好组件以后,就可以在根组件中复用了,这里你可以加入多个<count />组件,比如说是三个。

const app=Vue.createApp({template:`<website /><describe /><count/><count/><count/>`
})

然后在浏览器中进行预览,你会发现 <count /> 是互不干扰的,就是因为这个特性,Vue中的组件就具有了复用性。

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://unpkg.com/vue@next"></script>
</head>
<body><div id="app"></div><script>const app=Vue.createApp({template:`<website /><describe /><count/><count/><count/>`})app.component('website',{template:` <h2>willem.com</h2>`})app.component('describe',{template:` <h2>willem前端笔记</h2>`})app.component('count',{data(){return{count:0}},template:`<div>{{count}}<button @click="count++">增加1</button></div>`})const vm=app.mount("#app")
</script>
</body>
</html>

全局组件的弊端

全局组件编写起来确实非常方便,当时全局组件就是你一旦定义了,就会占用系统资源。

它是一直存在的,你在任何地方都可以使用这个全局组件。

这势必会对性能产生影响,比如一个真实的项目,会有上千个组件,这些组件由不同人编写,如果全部是全局组件,那这个应用打开速度一定是极慢的,而且流畅度也会受到影响。

全局组件的概括:只要定义了,处处可以使用,性能不高,但是使用起来简单。

总结

本文我们主要学习了什么是Vue中的组件,如何定义全局组件,讲解了组件的复用性,然后又说了一下组件的弊端。

这里需要强调的是组件对于Vue的学习非常重要,所以希望小伙伴们能重视这部分内容的学习和练习。

http://www.lbrq.cn/news/1093303.html

相关文章:

  • 北京专业网站改版/人力资源培训网
  • ui做自适应网站/友情链接交易平台
  • 手机建网站步骤软件/深圳seo技术
  • 在线教育网站建设/深圳seo推广公司
  • 免费网站自动优化软件/接外包项目的网站
  • 做海报的话网站/域名交易平台
  • joomla 网站建设/最新国内新闻重大事件
  • 成都微信网站建设多/设计公司排名前十强
  • 如何提高商城网站权重/在线crm
  • 买高端品牌网站建设/今日新闻最新头条10条摘抄
  • 网站开发 先做前端吗/中国企业网络营销现状
  • 做阀门的英文网站怎么写/手机打开国外网站app
  • php7安装wordpress/广州seo网站管理
  • 网站开发项目风险/今日头条荆州新闻
  • 济南专业制作网站/搜索引擎优化的办法有哪些
  • 在重庆 那里可以做诚信网站认证/优化是什么梗
  • 网站建设规范布局/武汉seo排名扣费
  • 包头怎样做网站/加盟教育培训机构
  • 做茶网站/黄山seo公司
  • 微网站 功能/郑州网站建设推广优化
  • 建设网站的源代码的所有权/自己网站怎么推广
  • 在马来西亚做博彩网站合法吗/seo搜索引擎优化介绍
  • 微网站可以自己做吗/优化推广seo
  • 做网站需要资料/大数据分析
  • 深圳快速网站制/学seo建网站
  • 网站的 规划与建设/天津网络广告公司
  • 海南省建设设厅官方网站/免费站长工具
  • 新手销售怎么和客户交流/惠州seo快速排名
  • 数据库对网站开发的作用/网站设计公司网站制作
  • 9夜夜做新郎网站/情感营销的十大案例
  • ubuntu下docker安装thingsboard物联网平台详细记录(附每张图)
  • MongoDB数据模型
  • Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
  • 公域流量向私域流量转化策略研究——基于开源AI智能客服、AI智能名片与S2B2C商城小程序的融合应用
  • 练习实践-基础设施-文件共享-windows和linux之间的文件共享-smb服务搭建
  • Leetcode力扣解题记录--第21题(合并链表)