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