Omi教程-组件】的更多相关文章

组件 Omi框架完全基于组件体系设计,我们希望开发者可以像搭积木一样制作Web程序,一切皆是组件,组件也可以嵌套子组件形成新的组件,新的组件又可以当作子组件嵌套至任意组件形成新的组件... 简单组件 这里使用Todo的例子来讲解Omi组件体系的使用. class Todo extends Omi.Component { constructor(data) { super(data); } add (evt) { evt.preventDefault(); this.data.items.push…
组件通讯 Omi框架组建间的通讯非常遍历灵活,因为有许多可选方案进行通讯: 通过在组件上声明 data-* 传递给子节点 通过在组件上声明 data 传递给子节点 父容器设置 childrenData 自动传递给子节点 完全面向对象,可以非常容易地拿到对象的实例,之后可以设置实例属性和调用实例的方法 所以通讯变得畅通无阻,下面一一来举例说明. data-*通讯 class Hello extends Omi.Component { constructor(data) { super(data);…
组件通讯 Omi框架组建间的通讯非常遍历灵活,因为有许多可选方案进行通讯: 通过在组件上声明 data-* 传递给子节点 通过在组件上声明 data 传递给子节点 (支持复杂数据类型的映射) 父容器设置 childrenData 自动传递给子节点 声明 group-data 传递(支持复杂数据类型的映射) 完全面向对象,可以非常容易地拿到对象的实例,之后可以设置实例属性和调用实例的方法 所以通讯变得畅通无阻,下面一一来举例说明. data-*通讯 class Hello extends Omi.…
写在前面 Omi框架组建间的通讯非常遍历灵活,上篇文章介绍了几种通讯方式,其中childrenData的方式可以批量传递数据给组件,但是有很多场景下data的来源不一定非要都从childrenData来,childrenData是个数组,会和组件的顺序一一对应,这就给不同传递方式的data必须全部集中的childrenData中,非常不方便. 这篇介绍下group-data通讯,专门为解决上面的痛点而生,看名字就知道group-data专门是为了给一组组件批量传递data. group-data…
组件通讯 Omi框架组建间的通讯非常遍历灵活,因为有许多可选方案进行通讯: 通过在组件上声明 data-* 传递给子节点 通过在组件上声明 data 传递给子节点 (支持复杂数据类型的映射) 父容器设置 childrenData 自动传递给子节点 声明 group-data 传递(支持复杂数据类型的映射) 完全面向对象,可以非常容易地拿到对象的实例,之后可以设置实例属性和调用实例的方法 所以通讯变得畅通无阻,下面一一来举例说明. data-*通讯 class Hello extends Omi.…
生命周期 名称 含义 时机 constructor 构造函数 new的时候 install 初始化安装,这可以拿到用户传进的data进行处理 实例化 installed 安装完成,HTML已经插入页面之后执行 实例化 uninstall 卸载组件.执行remove方法会触发该事件 销毁时 beforeUpdate 更新前 存在期 afterUpdate 更新后 存在期 示意图 需要注意的是installed在实例化期也会执行,上图没有标出.比如组件被移除再进行还原会执行,再比如新增新的组件也会执…
插件体系 Omi是Web组件化框架,怎么又来了个插件的概念? 可以这么理解: Omi插件体系可以赋予dom元素一些能力,并且可以和组件的实例产生关联. omi-drag 且看这个例子: 点击这里→在线试试 import OmiDrag from './omi-drag.js'; OmiDrag.init(); class App extends Omi.Component { constructor(data) { super(data); } render() { return ` <div>…
Omi框架能够以少量的代码声明式地编写可拖拽移动节点的树形组件. 通常树组件能够考验UI框架的健壮性,因为需要使用到UI框架的如下特性: 组件嵌套 组件传值 组件批量传值 组件依赖自身递归嵌套(nest-self) 子.孙或炎黄子孙访问根组件实例 下面来介绍下使用 omi-tree 的开发全过程.你也可以无视文章,先体验一把和直接编辑源码试一把: omi-tree playground 类划分 tree.js 树组件的根容器类,包含节点移动,根据id获取节点等通用方法,这里把其排除在tree-n…
这部分的教程将会继续介绍PyQt5的组件.我们这节教程的内容将包括像素图(QPixmap),单行文本框(QLineEdit)和下拉列表框(QComboBox) 像素图(QPixmap) 像素图(QPixmap)是各种用于处理图像的组件中的一个.它是在屏幕上显示图片的最佳选择.在我们代码例子中,我们将使用像素图来在窗口上显示一个图片. #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial In…
PyQt5中的组件(widgets) 组件(widgets)是构建一个应用的基础模块.PyQt5有广泛的各式各样的组件,包含按钮,复选按钮,滑块条,和列表框.在这个部分的教程中,我们将学习几种有用的组件:复选按钮(QCheckBox),切换按钮(ToggleButton),滑块条(QSlider),进度条(ProgressBar)和日历组件(QCalendarWidget).   复选框(QCheckBox) 复选框组件有两种状态:选中和未选中.它是由一个选择框和一个标签组成的.一个应用中,复选…