Day15 元件系统

甚麽是元件?
元件(Conponent)是Vue最主要的特性,提供HTML DOM的扩充性,将可以建立根(root)再将元件堆叠上去,有利於人员的开发与维护
当专案架构越大时,我们就需要思考如何将元件拆开与分类。
https://ithelp.ithome.com.tw/upload/images/20210929/20140076NMgctkhiD6.png (图片来源Vue.js)
要在模板中使用这些组件,就需要注册它们,其中又分为global与local两个类型

全域注册
缺点 : 不论是否有用到此元件,都会将它载入,拖慢载入速度
使用vue.component(tagName,option)来注册
以下面的例子来说,它是具有名称可重复使用的,先将此当作创建方法的root
https://ithelp.ithome.com.tw/upload/images/20210929/20140076HSVepTEbs5.png
https://ithelp.ithome.com.tw/upload/images/20210929/201400767ti63HNfIq.png
https://ithelp.ithome.com.tw/upload/images/20210929/201400769xQysiPlUM.png

当我想要将这个元件多次重复使用时,只要再HTML上打上简短的程序码,就可以得到我所需要的功能,在HTML上看起来就简洁许多,而其中每个按钮都有自己的count,每次使用此元件都会创造一个新的实例
https://ithelp.ithome.com.tw/upload/images/20210929/20140076OZkGGgrZ2E.png
https://ithelp.ithome.com.tw/upload/images/20210929/20140076urUNtMB8BU.png

小提醒 : Data必须是函数
当我们定义并没有直接提供
data : {
count : 0
}
而是
data : function () {
return{
count: 0
}
}
以便每个实例都可以有自己独立的data,所以没有这个规则的话,就会引想到其他按钮的计算,变成共用一个data

区域注册
缺点 : 只能绑定在实体内使用,如果有另一个实体要用,那这个元件就不能共用
如果不需要共用,就可使用区域注册
可以将例子改写成
https://ithelp.ithome.com.tw/upload/images/20210929/20140076CvUURbJ66f.png

is属性
is属性可以更改DOM绑定变数,就能依照这个变数名称,寻找组件渲染页面
https://ithelp.ithome.com.tw/upload/images/20210929/20140076JA7SNsYLas.png

参考资料: https://book.vue.tw/CH2/2-1-components.html
https://v3.cn.vuejs.org/api/built-in-components.html#component
https://vuejs.org/v2/guide/components.html
https://vuejs.org/v2/guide/components-registration.html


<<:  [Day 15] v-bind绑定class和style

>>:  {DAY 17} Pandas 学习笔记part.3

D32 - 自我挑战铁人赛完赛

结束了 30 天 30 档买进一股的自我挑战了 我在另一边还有参加 Mobile Developem...

治理结构(Governance Structure)- 审计委员会(Audit committee)

内部审计部门的负责人通常在职能上向董事会的审计委员会报告,而行政报告则向首席执行官报告。他或她的职务...

Day 17 ATT&CK for ICS - Persistence(2)

T0857 System Firmware 韧体做为跟硬体的互动的桥梁,若设备中的可能有韧体安全的问...

Day 29: 跨平台比较

Keyword: Flutter 、React Native、KMM 对於只要一份Code就能部署到...

[Day 13] 非同步的操作资料库?谈 suspendedTransactionAsync

前面我们聊到了如何存取资料库,以及遇到 N+1 问题时该如何发现以及解决问题。 今天我们来谈谈 Ex...