??uni-app 借鑒整合了 Vue.js、mpvue 等前端開(kāi)源框架。同時(shí),為保證微信小程序兼容,uni-app 還借鑒了微信小程序的組件規(guī)范。
??為了實(shí)現(xiàn)微信小程序、原生App的跨端兼容,綜合考慮編譯速度、運(yùn)行性能等因素,uni-app 約定了如下開(kāi)發(fā)規(guī)范:
頁(yè)面文件遵循 Vue 單文件組件 (SFC) 規(guī)范
每個(gè) .vue 文件包含三種類(lèi)型的頂級(jí)語(yǔ)言塊:
①最多包含一個(gè)<template></template>模板模塊
②最多包含一個(gè)<script></script>腳本模塊
③可以包含一個(gè)或多個(gè)<style></style>樣式模塊,標(biāo)簽可以有scoped或者module屬性,不同封裝模式的多個(gè)style可以在同一個(gè)組件中混合使用,如可包含css、sass、less等多種封裝模式。
Tips:允許添加可選的自定義塊,支持導(dǎo)入自定義塊,需要注意的是 src 導(dǎo)入遵循和 webpack 模塊請(qǐng)求相同的路徑解析規(guī)則,這意味著相對(duì)路徑需要以./開(kāi)始組件標(biāo)簽靠近微信小程序規(guī)范,所以有微信開(kāi)發(fā)經(jīng)驗(yàn)的話(huà)將會(huì)飛速上手uni-app,沒(méi)有經(jīng)驗(yàn)也不要怕,即使不會(huì)微信小程序也會(huì)快速上手。若想更多的了解uni-app組件規(guī)范,詳見(jiàn)uni-app 組件規(guī)范。
注意:不能使用標(biāo)準(zhǔn)HTML標(biāo)簽,也不能用js對(duì)dom進(jìn)行操作接口能力(JS API)靠近微信小程序規(guī)范,不過(guò)前綴
wx需要替換為uni,詳見(jiàn)uni-app接口規(guī)范數(shù)據(jù)綁定及事件處理靠近
Vue.js規(guī)范,同時(shí)補(bǔ)充了App及頁(yè)面的生命周期為兼容多端運(yùn)行,建議使用flex布局進(jìn)行開(kāi)發(fā)