首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一Li小麦

    组件设计基础(2

    组件被装载到DOM树上之后,用户在网页上可以看到组件的第一印象,但是要提供更好的交互体验,就要让该组件可以随着用户操作改变展现的内容,当props或者state被修改的时候,就会引发组件的更新过程。 决定是否更新)->componentWillUpdate(即将feiqis)->render->componentDidUpdate 2.自身状态变化:通常是state的变化 shouldComponentUpdate •确定每个组件是否依赖于状态? •找到共同的父级组件(所有需要状态子组件的共同祖先)。 •常见的组件所有者或另一个更高层次结构的组件。 设想一下,在一个应用中,包含三级或者三级以上的组件结构,顶层的祖父级组件想要传递一个数据给最低层的子组件,用prop的方式,就只能通过父组件中转。 组件设计方法论 一些指导性原则: •组件尽可能通过props通信。不用context •组件属性需要有默认值,做好类型检查 •组件属性尽可能使用简单值。避免使用对象。

    80250发布于 2019-12-04
  • 来自专栏乱码李

    ReactJS 学习——组件2

    组件列表 使用循环的方式创建组件列表 const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number) =>

  • { number.toString()}> {number}
  • ); return (
      {listItems}
    ); } const numbers = [1, 2, 我们知道当组件的属性发生了变化,其 render 方法会被重新调用,组件会被重新渲染。 value={number} /> ); return (
      {listItems}
    ); } const numbers = [1, 2, value={number} /> ); return (
      {listItems}
    ); } const numbers = [1, 2,

98610发布于 2021-11-26
  • 来自专栏笔记分享

    Vue2.组件通信

    样式冲突 写在组件中的样式默认会全局生效。容易造成多个组件之间的样式冲突问题。 可以给组件加上scoped属性,让样式只作用于当前组件。 原理: 给当前组件模板的所有元素,加上一个自定义属性data-v-hash值,用以区分不同的组件。 父子通信 父组件通过props将数据传递给子组件组件利用$emit通知父组件修改更新 跟Qt的信号槽机制很像。 单向数据流:父组件的prop更新,回单向向下流动,影响子组件。 eventBus事件总线 非父子组件之间,进行简易消息传递。 复杂场景同Vuex。 表单组件封装 父传子:父组件props传递,需要拆解v-model,因为props传入的数据不允许被修改。 子传父:监听输入,子传父传值给父组件修改。

    77310编辑于 2024-01-16
  • 来自专栏狮乐园

    高级 Vue 组件模式 (2)

    02 编写复合组件 目标 我们需要实现的需求是能够使使用者通过 <toggle> 组件动态地改变包含在它内部的内容。 实现 在 vue 中,这里我们会分别实现三个组件,依次为: toggle-button: 代表开关,用来渲染父组件的开关状态 toggle-on: 根据父组件 toggle 的开关状态,渲染当状态为开时的内容 成果 通过复合组件的方式,我们将 toggle 组件划分为了三个更小的、职责更加单一的子组件。 同时由于 toggle-on 和 toggle-off 都使用 slot 来动态地注入组件调用者在其内部包含的自定义渲染逻辑,其灵活性得到了进一步的提升,只要这三个组件是作为 toggle 组件的子组件来调用 你可以通过下面的链接来看看这个组件的实现代码以及演示: sandbox: 在线演示 github: part-2 总结 通常情况下,在设计和实现职能分明的组件时,可以使用这种模式,比如 tabs 与 tab

    89720发布于 2020-01-21
  • 来自专栏狮乐园

    高级 Angular 组件模式 (2)

    每一个组件的职能与它们的父组件保持一致,它们各自的职能如下: toggle-button: 代表开关,用来渲染父组件的开关状态 toggle-on: 根据父组件的开关状态,渲染当状态为开时的内容 toggle-off : 根据父组件的开关状态,渲染当状态为关时的内容 <toggle>组件可以实现@ContentChild装饰器获取这三个子组件的引用,从而可以根据开关状态的变化调整它们之间的关联逻辑。 可以尝试在在线代码库中调整子组件的顺序,你可以在它们中间嵌套任何的html字符串,只要这三个组件是作为<toggle>的子组件存在的,一切都将正常的运行。 /my.component.html' 译者注 这里组件架构方式是标准的Smart Component(智能组件)和Dump Component(木偶组件组件架构方式。 Content代表内容,这些内容在组件渲染时已经存在于组件声明标签的内部,通常在组件内部以<ng-content>为占位符 View代表视图,视图代表组件本身的模板,代表组件本身的渲染逻辑 @ContentChildren

    1.1K30发布于 2018-10-19
  • 来自专栏iKcamp

    React 深入系列组件分类

    文:徐超,《React进阶之路》作者 授权发布,转载请注明作者及出处 ---- React 深入系列2组件分类 React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对 React 组件有很多种分类方式,常见的分类方式有函数组件和类组件,无状态组件和有状态组件,展示型组件和容器型组件。好吧,这又是一篇咬文嚼字的文章。 函数组件使用函数定义组件,类组件使用ES6 class定义组件。 很容易知道,函数组件一定是无状态组件,类组件则既可以充当无状态组件,也可以充当有状态组件。但如上文所述,当一个组件不需要管理自身状态时,也就是无状态组件,应该优先设计为函数组件。 它们之间的关联关系可以归纳为:函数组件一定是无状态组件,展示型组件一般是无状态组件;类组件既可以是有状态组件,又可以是无状态组件,容器型组件一般是有状态组件

    1.6K50发布于 2018-04-19
  • 来自专栏半月无霜

    vue2中的组件

    "banmoon2"), new User(3, "banmoon3") ); public static final List<User> userList2 "banmoon2"), new User(3, "banmoon3") ); public static final List<User> userList2 "banmoon2"), new User(3, "banmoon3") ); public static final List<User> userList2 List<R> union(List<T1> list1, List<T2> list2, BiPredicate<T1, T2> predicate, Function<T1, R> function List<R> difference(List<T1> list1, List<T2> list2, BiPredicate<T1, T2> predicate, Function<T1, R> function

    1.1K10编辑于 2023-03-03
  • 来自专栏Angular&服务

    Angular2 组件的使用

    创建组件需要三步: 1.从 @angular/core 引入 Component 装饰器 2.创建一个类,并用 @Component 修饰 3.在 @Component 中 ,设置selector、template constructor() { this.name = 'World'; } } selector (选择器): 我们用它来告诉Angular创建和插入这个组件实例的元素属性 templateUrl(模版地址): HTML的一种形式,它告诉Angular如何呈现这个组件template (模板): HTML的一种形式,它告诉Angular如何呈现这个组件styleUrls(模版样式地址): css样式,在组件模版中引用的css样式。 ----

    sivona

    2.6K30发布于 2018-08-20
  • 来自专栏各类技术文章~

    Vue3 组件注册(2

    component: componentc --> <ComponentC></ComponentC> </template> <template id="component-c"> <h2> ComponentC</h2> </template> <script src=". <em>2</em>. 注册局部<em>组件</em> 开发中,注册全局<em>组件</em>的情况较少,我们更多的是注册局部<em>组件</em>。 /template> <template id="component-a"> <h2>ComponentA</h2> </template> <script src=". > </template> <template id="component-a"> <h2>ComponentA</h2> </template> <script src=".

    88030发布于 2021-10-22
  • 来自专栏智能大石头

    2,ORM组件XCode(速览)

    符合X系列组件的一贯作风,不求万能,只求简单实用!    

    66690发布于 2018-01-09
  • 来自专栏机器视觉CV

    OpenCV 系列教程2 - Core 组件

    1img1 = cv2.imread("ml.png") 2img2 = cv2.imread("opencv-logo.png") 3 4dst = cv2.addWeighted(img1, 0.7 12cv2.waitKey(0) 13 14# 灰度图 15img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) 16cv2.imshow("img2gray ", img2gray) 17cv2.waitKey(0) 18 19ret, mask = cv2.threshold(img2gray, 25, 255, cv2.THRESH_BINARY) 20 img2_fg", img2_fg) 41cv2.waitKey(0) 42 43 44# 将 ROI 区域与 logo 图标运算 45dst = cv2.add(img1_bg, img2_fg) 46cv2 img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) 11 ret, mask = cv2.threshold(img2gray, 25, 255,

    1.3K20发布于 2019-07-15
  • 来自专栏技术人生

    flutter组件2【icons的使用】

    1.UI产品 2.一些视频使用的 3.交流对话使用 4.文章发布内容使用 5.硬件设备使用 6.文件夹和文件使用 7.导航和箭头使用 备注:在flutter中引用的时候,其中chat就是图片中icon下方的名称

    2.4K20发布于 2020-11-13
  • 来自专栏易帜的Android 学习之旅

    2.Flutter学习之Container组件与Text组件详解

    记录一下Container组件以及Text组件常用的方法。 容器组件(Container)是一个组合Widget,内部有绘制Widget、定位Widget和尺寸Widget,包含一个子Widget,自身具备如alignment、pading等基础属性,方便布局过程中摆放 Container组件常用属性如下表: void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override height: 300, width: 300, decoration: BoxDecoration( //装饰器,用于装饰Container组件

    73420编辑于 2022-02-09
  • 来自专栏Android点滴积累

    IOS Widget(2):小组件框架解析

    引言   看了小组件的概述,你肯定想马上搞一个小组件出来试试,实践中学习效果更佳 本文大纲 创建小组件 认识小组件框架各个组成部分 创建小组件 第一步:先创建好一个App,步骤省略 第二步:在App中创建小组件 2. 从“Application Extension”组中,选择“Widget Extension”,然后单击“Next”。 3. 输入小组件的名称。 4. // 在添加组件预览界面显示 } } 小组件核心代码注解如下: kind是标识小组件的唯一ID body也是必须实现的,返回小组件的配置信息 StaticConfiguration 标识小组件不支持动态修改配置 ("组件标题") .description("组件描述") Provider是给小组件提供刷新策略以及给小组件准备数据的核心 Widget1EntryView(entry: entry),根据Provider 提供的数据实体entry绘制小组件的UI 结语   默认新建一个小组件,开发工具已经默认生成了一份完整的小组件代码。

    1.8K20发布于 2021-05-06
  • 来自专栏web前端

    smartClient 2--可视化组件

    Foundation Components Event Handling Controls Forms Grids Trees Layout DataBinding Themes/Skins     2、 id=formLayoutFilling&skin=Simplicity&fontIncrease=1&sizeIncrease=2 四、样式修改:     1、更换系统皮肤:引用不同的css包     2、自定义样式:         a. 组件布局:通过设置组件属性的方式创建组件    注意:如果不是在组件中定义组件布局(如下),而是在CSS/HTML中直接修改,则必须手动做好浏览器兼容问题 isc.Label.create({ top 数据源(数据源的定义格式类似SQL数据存储格式,区别在于:1)存储方式是XML或者js;2)必须定义数据类型;......)

    92290发布于 2018-01-09
  • 来自专栏九彩拼盘的叨叨叨

    Vue2 组件通信写法总结

    组件通讯包括:父子组件间的通信和兄弟组件间的通信。具体有以下几种情况。 父组件传递数据给子组件组件使用 Prop 传递数据给子组件。 <child-component :prop1="父<em>组件</em>的数据1" :prop2="父组件的数据2"></child-component> 子组件只接收在子组件定义的 props的值。 // 子组件 Vue.component('child-component', { props: ['prop1', 'prop2'], // 定义接收哪些 props template: '< div>{{prop1 + prop2}}

    ', ... } 父组件调用子组件属性或方法 给要调用的子组件起个名字。 $on('id-selected', function (id) { // ... }) 方法2: 用 vuex 来做兄弟组件间的通信。 不推荐的方式:兄弟组件通过父组件来通信。

    45320发布于 2018-08-24
  • 来自专栏dcmickey小站

    2.Vue组件学习和使用

    我是app实例范围 <cpt v-text="msg"></cpt>

    测试下面的自定义组件 -- 这里写dzhcpt生效,因为在vue接管的实例里,且组件名称必须小写--> <dzhcpt></dzhcpt>


    测试下面的自定义组件 dzhcpt> </body> <script> Vue.component("cpt", { template: "

    " }); // 注册 组件使用的时候只能放到实例存在的 DOM里,且组件名称必须小写,因为html不区分大小写,所以注册组件并使用的时候会报错 Vue.component('dzhcpt', { template: '

    自定义dzhcpt 组件!

    23310编辑于 2022-06-09
  • 来自专栏Creator星球游戏开发社区

    CreatorPrimer| 2.x ShaderHelper组件速递

    同时注意,ShaderHelper组件目前必须配合cc.Sprite组件一起使用,就是说节点上必须有一个Sprite组件2. {name: 'yyy', type: renderer.PARAM_FLOAT}, {name: 'zzz', type: renderer.PARAM_FLOAT2} 2. 如果着色器代码中有需要初始化的变量,需要定义params字段,描述参数的名字和数据类型,如下所示: params: [ {name: 'iCenter', type: renderer.PARAM_FLOAT2} 小结 ---- 今天分享了我刚出炉的ShaderHelper组件,其实我只是做了一个搬运工,整合了一下Cocos官网论坛中大佬们分享的项目源码,目前ShaderHelper还是有不少问题,比如:组件上不能设置

    69320发布于 2019-09-11
  • 来自专栏从零学习云计算

    openshiftorigin学习记录(2)——添加Router组件

    Router是openshift集群中的一个重要组件,它是外部访问集群内容器应用的入口。 集群外部的请求都会到达Router,由Router分发到具体的容器中。 Router组件需要读取集群的信息,所以它需要关联一个系统账号Service Account,并为这个账号授权。 以下操作基于oc(命令行客户端)指令实现。 从技术上来说,Router就是一个运行在容器里的Haproxy 至此,Router组件部署已经完成。

    1.7K00发布于 2017-12-28
  • 来自专栏web前端

    smartClient 2--可视化组件

    Foundation Components Event Handling Controls Forms Grids Trees Layout DataBinding Themes/Skins     2、 id=formLayoutFilling&skin=Simplicity&fontIncrease=1&sizeIncrease=2 四、样式修改:     1、更换系统皮肤:引用不同的css包     2、自定义样式:         a. 组件布局:通过设置组件属性的方式创建组件    注意:如果不是在组件中定义组件布局(如下),而是在CSS/HTML中直接修改,则必须手动做好浏览器兼容问题 isc.Label.create({ top 数据源(数据源的定义格式类似SQL数据存储格式,区别在于:1)存储方式是XML或者js;2)必须定义数据类型;......)

    55600发布于 2018-07-31
  • 第 2 页第 3 页第 4 页第 5 页第 6 页第 7 页第 8 页第 9 页第 10 页第 11 页
    点击加载更多
    领券