Omix使用 JSX 或 hyperscript 创建用户界面
Omix —— 使用 JSX 或 hyperscript 创建用户界面。
功能特性
-
超级快的速度, 点击这里体验一下
-
超小的尺寸, 7 KB (gzip)
-
良好的兼容性 IE8
-
内置支持JSX 和 hyperscript
-
支持局部 CSS, 不用费尽心思去想选择器了,让CSS更加简单
-
更自由的更新,每个组件都有 update 方法,可以自由选择最佳更新的时机,也可和第三方库集成实现双向绑定,退可以自己手动更新。进可攻退可守
-
灵活的插件体系和丰富的插件生态
-
omi-router : Omi专属的官方Router插件.
-
omi-finger Omi的AlloyFinger插件,支持各种触摸事件和手势
-
omi-transform Omi的transformjs插件,快速方便地设置DOM的CSS3 Transform属性
-
omi-touch Omi的AlloyTouch插件,Omi项目的触摸运动解决方案(支持触摸滚动、旋转、翻页、选择等等)
-
-
喜欢模板引擎、ES6模板字符串的可以使用 Omix 的API大体相同的兄弟框架 Omi,而且上面的插件 Omi 和 Omix 都可以共享使用
使用 JSX
class Hello extends Omi.Component { render() { return <div> Hello {this.data.name}!</div> } } Omi.tag('hello', Hello) class App extends Omi.Component { install() { this.name = 'Omi' } handleClick(e) { this.name = 'Omix' this.update() } style() { return `h3{ color:red; cursor: pointer; }` } render() { return <div> <hello name={this.name}></hello> <h3 onclick={this.handleClick.bind(this)}>Scoped css and event test! click me!</h3> </div> } } Omi.render(new App(), '#container')
使用 hyperscript
const $ = Omi.tags class Hello extends Omi.Component { render() { return $.div( 'Hello' + this.data.name+'!') } } Omi.tag('hello-tag', Hello) class App extends Omi.Component { handleClick(e) { alert(e.target.innerHTML) } render() { return $.div([ $.HelloTag({name: 'Omi'}), $.h3({onclick: this.handleClick}, 'scoped css and event test! click me!') ]) } }
评论