# asta **Repository Path**: 40288193/asta ## Basic Information - **Project Name**: asta - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: asta-wc - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-23 - **Last Updated**: 2021-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Asta Simple compiler for web component ### Use asta 生成自定义元素的定义类,并自动define该类! 最后返回该类! declare var asta:(options)=>CustomComponentClass; * options: 定义一个组件时的配置声明! + tag: 组件将被定义的标签名 + props: 组件响应的属性。 props属性变化时,自动更新视图 + emits: 和vue一样, 只是指示性的作用。 表示该组件可能产生的事件。 以后考虑增加配置,约定事件的冒泡及compose属性 + template: 相当于vue的template 。 定义组件模板。以后考虑如何缓存它 目前绑定属性要写 {ctx.count} {props.step} @click="ctx.add" 。以后升级模板写法,尽量去掉ctx的前缀! 而且现在访问 {name} {queued} 可能还把内部状态值暴露出来了。 也是不友好的 是否改名为template? + style: 插入到组件内的样式(默认样式隔离,相当于scoped). style是否需要动态,像view一样,待讨论! + data: 返回组件的上下文的数据和方法的函数。 props ,$emit是保留键值! 所有$开头的属性应该都保留起来 ```js import { asta } from 'asta' asta( { tag: 'my-counter', props: ['btn-text', 'step'], emits: ['create', 'update', 'destory'], // 和vue一样, 只是指示性的作用。 template: `