组件概念

组件概念

有人问我组件的概念,我就这样回答了她。
如有错误,大家快快告诉我,赶紧更正,免得她...

组件概念
    组件的概念是在有了面向对象之后产生的,是翻译过来的词汇。其实组件就是对象。
中国人喜欢聪明,一定会找出n多个词汇来表达它。所以在c++builder中就程它为组件,
到了Delphi中,就称它为部件,跑到VB中就称它为控件,回到面向对象中又称为类和对象。
    所以啊,咱们中国人的名词翻来倒去就是一回事。现在我给你仔细讲讲。
    有一组方法,方法的运行需要一组数据,将他们做封装,就变成了组件。你会说这不
和类一样吗?非也非也。类是以源码形式存在的,而组件是以二进制可执行码存在的,是封
装了的结果。
    在面向对象的语言里,组件一般都从 XXComponent派生出来,这里的XX是依语言不同而
不同的,就是一名字而已。
    组件和类一样,都有属性和方法。
    组件有可视化的,和非可视化的。可视化的组件就行vb的控件,delphi的部件,cb的组件
一样,可以见到它们的样子,还可以设计阶段手动改动它们的属性。
    从使用者(应用程序开发人员)角度看,组件是已经写好了的,测试没问题的第三方程序,
使用时不过是拿来用而已。当然,你也可以开发组件。
    从实际形式上看,组件依据标准不同而有别,delphi,cb的是bpl格式的,vb的是ocx格式
的,而到了vc,vc#上就变成了com格式的。其实.net的也是com格式的。呵呵。当然还有其它格
式的。
   从具体技术上来说,各家的组件有其不同点,实现(开发)起来技术不一而同。但有一点
是相同的,就是谁都可以来开发组件,只要按照它的标准(格式)即可。
    一般来说,开发组件工作比较繁重,要求的也比较高。最重要的就是因为开发出来的组件
是给别人用的,既然是给别人用的,质量就要过关,就要少出错不出错,尽量没有bug。
    开发组件过程一般如下:
    1,利用IDE生成组件框架(当然,你也可以手工做,累不累我不负责)
    2,依据需要增加自己的方法和属性
    3,响应属性修改的变化和编写方法代码
    4,有的组件有事件之说,依据需要也要处理
    5,编译
    6,写一个组件使用者来调试组件
    7,利用写好的组件使用者反复调试组件的属性,方法,事件。

    这里再说一下组件开发需要做的设计,就是组件功能的布局,其实也没什么说的,只要按
找面向对象的思想,按照类的设计思路(面向对象)做就可以了。

引用\[1\]:微信小程序组件间传值_小山羊~的博客-CSDN博客_小程序组件传值一. 微信小程序父组件向子组件传值1.父组件可以直接传参或者使用数据绑定向子组件动态传递数据组件在父组件内写法:<view> <!-- 以下是对一个自定义组件的引用 --> <my-component inner-text="Some text" numberA='5' numberB='4' prop-a="{{dataFieldA}}"></my-component></view>\[1\] 引用\[2\]:通过传统的getElementById的方法不方便拿到子组件对应的节点,因此在组件的模板中,可以给标签加上一个ref属性ref="引用名",然后通过this.$refs.引用名就可以拿到这个DOM节点。这个方法对于普通标签同样适用。\[2\] 引用\[3\]:prop 定义了这个组件有哪些可配置的属性,组件的核心功能也都是它来确定的。写通用组件时,props 最好用对象的写法,这样可以针对每个属性设置类型、默认值或自定义校验属性的值,这点在组件开发中很重要,然而很多人却忽视,直接使用 props 的数组用法,这样的组件往往是不严谨的。\[3\] 问题:uniapp组件传值概念 回答: 在uniapp中,组件传值的概念与微信小程序类似。父组件可以通过直接传参或者使用数据绑定的方式向子组件动态传递数据。在父组件内,可以通过引用子组件的方式来传递参数,例如<my-component inner-text="Some text" numberA='5' numberB='4' prop-a="{{dataFieldA}}"></my-component>\[1\]。同时,为了方便获取子组件对应的节点,可以在组件的模板中给标签加上ref属性,然后通过this.$refs.引用名来获取DOM节点\[2\]。在组件开发中,可以使用props来定义组件的可配置属性,通过对象的写法可以设置类型、默认值或自定义校验属性的值\[3\]。这样可以确保组件的严谨性和灵活性。 #### 引用[.reference_title] - *1* [uniapp微信小程序传参方法和注意事项](https://blog.csdn.net/qq_22182989/article/details/124827105)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [uniapp 子组件 props拿不到数据_【2】浅析Vue组件](https://blog.csdn.net/weixin_39527879/article/details/110150127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniapp 子组件 props拿不到数据_深入理解Vue组件3大核心概念](https://blog.csdn.net/weixin_39981400/article/details/110081950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值