自定义组件

什么是自定义组件

自定义组件是对其内部子组件的封装,作为一个完整的、独立的组件而存在,不受外部数据组件影响,在属性面板中看不到它的属性及其内部结构;
自定义组件的目的还在于复用。当相同的一组组件在一个应用的多个地方被使用时我们就乐于把这组组件封装成自定义组件,如果修改了它的内部结构那么引用它的多个地方也会自动使用最新的定义,从而避免修改多个地方,如此不仅简化了组件树的结构还减少了带宽与存储空间的消耗。

创建自定义组件

先选中欲封装成自定义组件的最外层组件,点击更多属性,再点击保存为自定义组件,输入组件名并点击创建新的自定义组件,当前的组件就被封装成自定义组件了。

自定义组件可以被拆解,编辑更新后覆盖原组件或保存为新的自定义组件。
也可以在应用中心 -> $c.常量 -> 组件栏直接编辑抑或删除。

共享组件 vs 自定义组件 vs 插件

三者的共同目的都是为了复用,更新一处处处更新。
三者都比较独立,不受外部数据组件影响,但都可以在内部使用数据组件来动态渲染。

自定义组件封装性最高,不暴露任何属性和内部结构,本身就是一个黑盒;插件开发者会选择暴露一些属性来增加其适应性;共享组件封装性最低,仅仅是对内部组件简单的包装,内部结构一览无遗,编辑更改也最方便。

插件由第三方开发者发布于云端,可供任何应用复用,仅当被使用的时候才从云端按需加载,即使安装了很多插件也不影响页面的打开速度,但对SEO不友好,不方便自行更改内部结构。
共享组件和自定义组件可在一个应用内部复用,在打开第一个页面的时候就加载了进来,对SEO非常友好,但定义太多会减慢第一个页面的加载。

共享组件如果没在其根节点定义页面共享事件或CSS时可以转化为自定义组件。对于复用像svg这样简单的单个组件时通常直接封装成自定义组件,对于复用导航栏这样内部结构复杂的一组组件时通常先包装成共享组件,等到其结构已经非常稳定、几乎不会再修改时就可以把它封装成自定义组件。

Make in ZC APP Platform