ASTRO轻应用 ASTROZERO-{widget}.js:文件介绍

时间:2024-04-28 16:09:18

文件介绍

{widget}.js为组件逻辑文件,整个Widget的渲染核心JS,在组件编辑状态和页面最终的发布运行态都会被加载执行。一个推荐的组件架构,应包含表1中API。其中,init、render和beforeDestory为组件的通用生命周期函数,其余为推荐模板实现。

表1 组件架构组成

API名称

API解释

是否必须

init(生命周期函数)

组件初始化入口API,初始化组件通用能力,负责注册组件事件和组件动作。

render(生命周期函数)

组件核心渲染API,负责组件的实例化、数据调用及事件、动作的实际实现。

beforeDestroy(生命周期函数)

组件销毁回调事件,负责组件在销毁期间的内存释放逻辑实现,需要把组件绑定的一些dom事件及全局的引用销毁。

initContainer

render中抽取的独立逻辑,初始化组件container,所有组件逻辑统一。

统一实现,无需改动。

getInitProps

render中抽取的独立逻辑,基于默认prop和组件配置的props进行融合处理,并返回。

建议实现。

initI18n

初始化组件message-en/message-zh的多语言信息,统一注册到独立的i18nVue实例中,供组件获取桩数据、获取默认配置、初始化组件统一使用。

建议实现。

initReaderVm

render中抽取的独立逻辑,初始化运行态组件VM实例。在实例中获取数据并实现组件的核心渲染。

建议实现。

registerWidgetActionAndEvent

init中抽取的独立逻辑,注册组件对外暴露的的事件和动作。

按需实现,组件定义事件和动作时使用。

getMockData

组件在没有对接外部数据源时,使用的获取桩数据的API自定义实现。考虑数据集天然支持二维数组对象,桩数据结构统一为二维数组对象[{id:3,name:'zhangsan'}]。某些场景假如只需要一个简单值val,可以设置组件桩数据设置为简单二维对象数组[{val:123}]。

-

support.huaweicloud.com/usermanualcanvas-astrozero/astrozero_05_7132.html