转自:http://blog.csdn.net/chenyujing1234/article/details/7753863 (1)COM组件有三个最基本的接口类,分别是IUnknown.IClassFactory.IDispatch. (1.1) COM规范规定任何组件.任何接口都必须从IUnknown继承,IUnknown包含三个函数,分别是 QueryInterface.AddRef.Release.这三个函数是无比重要的,而且它们的排列顺序也是不可改变的. QueryInterface用…
模型如下: 这里COM对象一共实现了三个接口,IUnknown,IDispatch, Ixxx. 每个COM都必须实现IUnknown,不考虑在内的话共实现了IDispatch和自定义接口Ixxx两个,故称双接口对象. IDispatch主要是给解释型语言脚本用的,因为脚本没办法直接调用多态的接口函数. #include <iostream> using namespace std; class IUnknown { public: ; ; ; }; class IDispatch : pub…
组件三大API之三: slot <slot>标签 v-slot指令 普通插槽 有默认值的插槽 具名插槽 作用域插槽 v-slot是Vue 2.6.0引入的一个新语法指令,目的是统一之前slot / slot-scope的用法.统一的指令语法更简洁也更易理解. 之前讲解的prop实现了组件向下的数据传递,而event中v-on / $emit可以实现组件向上的数据传递.这一节v-slot指令实现组件内容的自定义功能. 一个简单的例子,自定义一个按钮组件: <div id="app…
组件三大API之二: event 在上一节中讲到prop单向下行数据绑定的特征,父组件向子组件传值通过prop实现,那如果有子组件需要向父组件传值或其它通信请求,可以通过vue的事件监听系统(触发事件,执行监听回调函数,并且可以在回调函数中接受传参). Vue内置了一套完整的事件触发器逻辑: v-on / @: 原来HTML元素中监听原生事件,或子组件自定义事件 .native: 触发组件根元素的原生事件 $on:监听组件自身触发的事件 $emit: 触发事件 $off: 卸载组件自身的事件监听…
组件三大API之一: prop prop的大小写 prop接收类型 字符串数组形式 对象形式: type / required / default / validator prop传递类型: 静态传递 / 动态绑定 单向数据流 非prop:替换或合并 / 禁用inheritAttrs:false / $attrs 上节对组件的概念讲到,组件是可复用的Vue实例,并且组件可以嵌套,组件间可以相互通信. 两个嵌套的组件通信,父组件向子组件传值,常规的做法就是采用prop 先看个一个例子直观感受下:…
of public static List<E> of(E.....e) 这是jdk 9推出的一个针对于Set,List,Map三大集合接口的新方法. 注意: 是静态方法. 只适用于Set,List,Map三大接口,不适用于接口的实现类. of方法的返回值(List<E>)类型是一个不可改变的集合,不能在使用add和push方法添加元素. Set接口和Map接口不允许添加重复元素,否则会抛出异常.…
React组件三大属性之 refs refs属性 1) 组件内的标签都可以定义ref属性来标识自己 a. <input type="text" ref={input => this.msgInput = input}/> b. 回调函数在组件初始化渲染完或卸载时自动调用 2) 在组件中可以通过this.msgInput来得到对应的真实DOM元素 3) 作用: 通过ref获取组件内容特定标签对象, 进行读取其相关数据 事件处理 1) 通过onXxx属性指定组件的事件处理…
React组件三大属性之 props 理解1) 每个组件对象都会有props(properties的简写)属性2) 组件标签的所有属性都保存在props中 作用1) 通过标签属性从组件外向组件内传递变化的数据2) 注意: 组件内部不要修改props数据 编码操作1) 内部读取某个属性值 this.props.propertyName2) 对props中的属性值进行类型限制和必要性限制 Person.propTypes = { name: React.PropTypes.string.isRequ…
React组件三大属性之state 组件被称为"状态机", 页面的显示是根据组件的state属性的数据来显示 理解1) state是组件对象最重要的属性, 值是对象(可以包含多个数据)2) 组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件) 编码操作1) 初始化状态: constructor (props) { super(props) this.state = { stateProp1 : value1, stateProp2 :…
COM组件有两种接口类型,Dual and Custom,如下图所示.本文说的是Custom.所谓多接口COM对象是指此COM对象实现了多于一个的自定义接口,即Custom接口. 接口图如下: 需要注意的是最终实现的COM对象用的不是虚继承而是普通的多继承,因为被多继承的IUnknown接口是不含任何数据成员,只有纯虚函数,继承的子接口也是这样.还有为了实现跨语言或平台的调用,最终没用虚继承.更多的原因请参考本文最后的链接. 这里给出多接口COM对象的模型: 很清楚地看到COM是实现了两个接口,…