首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何制作一个组件?论组件化思想

二、一个笔记组件的设计案例 ? 就以我正在使用的笔记app为例,上图展示的笔记的阅读与书写区域,如何将这个区域抽象为一个组件呢?让我们一步一步来分析。 1....接下来,我们简单使用一下这个组件: 为了兼容vue与react的读者,本页面均使用JSX语法 const note = { title: '如何制作一个组件?....如果你是一个组件设计的新手,你应该如何去思考、去设计一个优良的组件呢? 1....先设计,后实现 我们通篇在讨论组件的设计,但是实际操作时,很多朋友会通过边实现边设计的方式来完成一个组件制作,这是不合理的,因为自身能力与眼界的限制,实现可能会干扰你的设计,对于以下两个经典矛盾,希望读者能选择后者...我们将这个理论用于组件设计中,如何通过面向对象的思维来设计一个组件呢?

70510

React展示组件与容器组件(英译)

在哪里放置数据,组件间变化如何通信或如何管理状态?问题的答案往往是与场景相关,也有时候只是跟平常使用react库来做的练习与实验有关。...让我们从一个简单的例子开始,说明问题,然后将组件拆分为容器和展示组件。 我们将使用一个 clock 组件。 它接受一个Date对象作为prop,并显示实时变化的时间。...###解决思路 那么,让我们将组件分为两个部分 - 容器和展示组件。 ####容器 容器知道数据,知道数据的形态以及数据从何而来。 他们知道事务如何运作的细节或者说所谓的业务逻辑。...它们接收信息并对其进行格式化,以便由展示组件简单地使用。 通常我们使用高阶组件(higher-order components)来创建容器。 它们的render方法仅包含展示组件。...最终渲染到展示组件并传递小时,分钟和秒三个数字。 ####展示组件 展示组件是与展示的东西样子相关的。 他们有着让页面变得漂亮所需的额外的修饰。这样的组件不绑定任何东西,并且没有依赖性。

88810
您找到你想要的搜索结果了吗?
是的
没有找到

React 展示组件与容器组件(英译)

在哪里放置数据,组件间变化如何通信或如何管理状态?问题的答案往往是与场景相关,也有时候只是跟平常使用 react 库来做的练习与实验有关。...让我们从一个简单的例子开始,说明问题,然后将组件拆分为容器和展示组件。 我们将使用一个 clock 组件。 它接受一个Date对象作为prop,并显示实时变化的时间。...解决思路 那么,让我们将组件分为两个部分 - 容器和展示组件。 容器 容器知道数据,知道数据的形态以及数据从何而来。 他们知道事务如何运作的细节或者说所谓的业务逻辑。...它们接收信息并对其进行格式化,以便由展示组件简单地使用。 通常我们使用高阶组件(higher-order components)来创建容器。 它们的render方法仅包含展示组件。...最终渲染到展示组件并传递小时,分钟和秒三个数字。 展示组件 展示组件是与展示的东西样子相关的。 他们有着让页面变得漂亮所需的额外的修饰。这样的组件不绑定任何东西,并且没有依赖性。

2.8K00

如何用 vue 制作一个探探滑动组件

前言 嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作用,下面就来看看如何用vue写一个探探的堆叠组件。...图片第一张的滑动 条件成功后的滑出,条件失败后的回弹 滑出后下一张图片堆叠到顶部 体验优化: 根据触摸点的不同,滑动时首图有不同角度偏移 偏移面积判定是否成功滑出 二、具体实现 有了归纳好的功能点,我们实现组件的思路会更清晰...{ width: 100%; display: block; pointer-events: none; } 上面只是一组静态代码,我们希望得到的是vue组件...,所以需要先建立一个组件模板stack.vue,在模板中我们可以使用v-for,遍历出stack节点,使用:style 来修改各个item的style,代码如下: <ul...basicdata: { currentPage: 0 // 默认首图的序列 }, // temporaryData数据包含组件临时数据

3K130

如何巧妙的制作一个通讯录组件

自己的项目需要做一个通讯录的功能,看了看网络上分享的相关的代码都不太和我心意,所以,作为一个微博认证的前端工程师(*/ω\*),这点东西还是难不倒我的hhh୧(๑•̀⌄•́๑)૭ 需求 要做的是通讯录组件...List)组件,而只有表格(Table)组件,所以我难道需要额外来做一个列表组件?...后来想到用官方的表格组件通过隐藏表头的方式来做,事实证明这个方法是可行的!...表头跟随功能制作 什么?没看懂这是啥意思?看动图吧(注意看顶部) ? 我们已经有表头了,要达到这个效果,只需要一些JS配合CSS即可,先看JS代码 self....完工 大功告成,一个通讯录组件就做完了,是不是很简单呢@(呲牙) 附件 1、汉字转拼音js插件 请各位看官新建一个 ts 文件,并把如下代码直接粘贴进去。

3.8K20

微信小程序官方组件展示之表单组件form源码

以下将展示微信小程序之表单组件form源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。功能描述:表单。...当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。...form 组件可以识别这些自定义组件,并在 submit 事件中返回组件的字段名及其对应字段值。这将为它添加以下两个属性。...使 form 组件可以识别到这个自定义组件内部的所有表单控件。...使 form 组件可以识别到这个自定义组件内部的 button , 如果自定义组件内部有设置了 form-type 的 button ,它将被组件外的 form 接受。

87150

微信小程序官方组件展示之表单组件button源码

以下将展示微信小程序之表单组件button源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。 功能描述: 按钮。...,点击分别会触发 form 组件的 submit/reset 事件 1.0.0 合法值 说明 submit 提交表单 reset 重置表单 open-type string...详情新版接口使用指南 5.tip: 从 2.1.0 起,button 可作为原生组件的子节点嵌入,以便在原生组件上使用 open-type 的能力。...6.tip: 目前设置了 form-type 的 button 只会对当前组件中的 form 有效。...因而,将 button 封装在自定义组件中,而 form 在自定义组件外,将会使这个 button 的 form-type 失效。

76730

微信小程序官方组件展示之媒体组件image源码

以下将展示微信小程序之媒体组件image源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。功能描述:图片。...event.detail = {errMsg}1.0.0bindloadeventhandle否当图片载入完毕时触发,event.detail = {height, width}1.0.0Skyline组件差异...默认生效支持长按识别的码类型说明最低版本小程序码微信个人码2.18.0企业微信个人码2.18.0普通群码指仅包含微信用户的群2.18.0互通群码指既有微信用户也有企业微信用户的群2.18.0公众号二维码2.18.0Bug & Tip1.tip:image组件默认宽度...320px、高度240px2.tip:image组件中二维码/小程序码图片不支持长按识别。...仅在 wx.previewImage 中支持长按识别3.tip:image组件进行缩放时,计算出来的宽高可能带有小数,在不同 webview 内核下渲染可能会被抹去小数部分示例代码JAVASCRIPTPage

1K00

微信小程序官方组件展示之媒体组件video源码

以下将展示微信小程序之媒体组件video源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。功能描述:视频(v2.4.0 起支持同层渲染)。...2.tip:从 2.4.0 起 video 支持同层渲染,更多请参考原生组件使用限制3.tip: 若当前组件所在的页面或全局开启了 enablePassiveEvent 配置项,该内置组件可能会出现非预期表现...(详情参考 enablePassiveEvent 文档)错误码(errCode)支持的格式图片支持的编码格式图片小窗特性说明video 小窗支持以下三种触发模式(在组件上设置 picture-in-picture-mode...push 模式,即从当前页跳转至下一页时出现小窗(页面栈push)2.pop 模式,即离开当前页面时触发(页面栈pop)3.以上两种路由行为均触发小窗此外,小窗还支持以下特性:1.小窗容器尺寸会根据原组件尺寸自动判断

72030

微信小程序官方组件展示之表单组件input源码

以下将展示微信小程序之表单组件input源码官方组件能力,组件样式仅供参考,开发者可根据自身需求定义组件样式,具体属性参数详见小程序开发文档。功能描述:输入框。...该组件是原生组件,使用时请注意相关限制属性说明:WebView:属性类型默认值必填说明最低版本valuestring是输入框的初始内容1.0.0typestringtext否input 的类型1.0.0...placeholder-class不支持Bug & Tip1.tip: confirm-type的最终表现与手机输入法本身的实现有关,部分安卓系统输入法和第三方输入法可能不支持或不完全支持2.tip : input 组件是一个原生组件...,字体是系统字体,所以无法设置 font-family3.tip : 在 input 聚焦期间,避免使用 css 动画4.tip : 对于将 input 封装在自定义组件中、而 form 在自定义组件外的情况..., form 将不能获得这个自定义组件中 input 的值。

99840
领券