摘要:不用擔(dān)心組件的會污染組件外的會幫你處理好一切更自由的更新,每個組件都有方法,自由選擇時(shí)機(jī)進(jìn)行更新。通過安裝點(diǎn)擊這里在線試試你可以使用來生成組件標(biāo)簽用于嵌套。點(diǎn)擊這里試試寫程序加入吧
Omi
Open and modern framework for building user interfaces.
Omi的Github地址https://github.com/AlloyTeam/omi
如果想體驗(yàn)一下Omi框架,請點(diǎn)擊Omi Playground
如果想使用Omi框架,請閱讀 Omi使用文檔
如果想一起開發(fā)完善Omi框架,有更好的解決方案或者思路,請閱讀 從零一步步打造web組件化框架Omi
關(guān)于上面的兩類文檔,如果你想獲得更佳的閱讀體驗(yàn),可以訪問Docs Website
如果你懶得搭建項(xiàng)目腳手架,可以試試Scaffolding for Omi,npm安裝omis便可
如果你有Omi相關(guān)的問題可以New issue
如果想更加方便的交流關(guān)于Omi的一切可以加入QQ的Omi交流群(256426170)
特性超小的尺寸,7 kb (gzip)
局部CSS,HTML+ Scoped CSS + JS組成可復(fù)用的組件。不用擔(dān)心組件的CSS會污染組件外的,Omi會幫你處理好一切
更自由的更新,每個組件都有update方法,自由選擇時(shí)機(jī)進(jìn)行更新。你也可以和obajs或者mobx一起使用來實(shí)現(xiàn)自動更新。
模板引擎可替換,開發(fā)者可以重寫Omi.template方法來使用任意模板引擎
完全面向?qū)ο螅瘮?shù)式和面向?qū)ο蟾饔袃?yōu)劣,Omi使用完全的面向?qū)ο蟮姆绞絹順?gòu)建Web程序。
ES6+ 和 ES5都可以,Omi提供了ES6+和ES5的兩種開發(fā)方案。你可以自有選擇你喜愛的方式。
通過npm安裝npm install omiHello World
class Hello extends Omi.Component { constructor(data) { super(data); } style () { return ` h1{ cursor:pointer; } `; } handleClick(target, evt){ alert(target.innerHTML); } render() { return ``; } } Omi.render(new Hello({ name : "Omi" }),"body");Hello ,{{name}}!
點(diǎn)擊這里->在線試試
你可以使用Omi.makeHTML來生成組件標(biāo)簽用于嵌套。
Omi.makeHTML("Hello", Hello);
那么你就在其他組件中使用,并且通過data-*的方式可以給組件傳參,如:
... render() { return ``; } ...Test
點(diǎn)擊這里->在線試試
你可以使用 webpack + babel,在webpack配置的module設(shè)置babel-loader,立馬就能使用ES6+來編寫你的web程序。
當(dāng)然Omi沒有拋棄ES5的用戶,你可以使用ES5的方式編寫Omi。
ES5方式var Hello = Omi.create("Hello", { style: function () { return "h1{ cursor:pointer }"; }, handleClick: function (dom) { alert(dom.innerHTML) }, render: function () { return "" } }); var Test = Omi.create("Test", { render: function () { return "Hello ,{{name}}!
" } }); Omi.render(new Test(),"#test");Test
和ES6+的方式不同的是,不再需要makeHTML來制作標(biāo)簽用于嵌套,因?yàn)?Omi.create的第一個參數(shù)的名稱就是標(biāo)簽名。
點(diǎn)擊這里試試ES5寫Omi程序
加入Omi吧!Github: https://github.com/AlloyTeam/omi
I need you.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81443.html
摘要:注意,這里目前沒有引入,不管第幾次渲染都是無腦設(shè)置,復(fù)雜結(jié)構(gòu)對瀏覽器的開銷很大,這里后續(xù)會引入。整合這里把給直接暴露在下,因?yàn)槊總€組件都生成了唯一的,后續(xù)實(shí)現(xiàn)事件作用域以及對象實(shí)例獲取都要通過下的獲取。 Hello Omi Omi框架的每個組件都繼承自O(shè)mi.Component,本篇會去完成Omi的Component的基本錐形,讓其能夠渲染第一個組件。 omi.js實(shí)現(xiàn) var Omi...
摘要:用過的同學(xué)都知道,性能優(yōu)化的關(guān)鍵就是,最被詬病的也是這個,很多開發(fā)者也吐槽這個鉤子函數(shù),也可以配合不可變數(shù)據(jù)類型,直接進(jìn)行引用地址比較,來決定組件是否需要更新。 大家好,這次給大家講下 Omi 框架 以及即將發(fā)布的 Omim 大家有沒有數(shù)左邊的圖片里有多少個 Omi?Omi 團(tuán)隊(duì)很在意這里,特意數(shù)了下,有三個。Omi 團(tuán)隊(duì)希望 Omi 以后在各大會議里能夠印刷得更加大一些。今天給大家?guī)淼闹?..
閱讀 2437·2021-10-09 09:59
閱讀 2191·2021-09-23 11:30
閱讀 2599·2019-08-30 15:56
閱讀 1155·2019-08-30 14:00
閱讀 2946·2019-08-29 12:37
閱讀 1265·2019-08-28 18:16
閱讀 1668·2019-08-27 10:56
閱讀 1033·2019-08-26 17:23