WEEX三要素與樣式

在iOS中聂示,weex可以類似理解為“放大版”的JSBrdige它掂,weex代碼的三部分構(gòu)成:template(模版)彬檀、style(樣式)帆啃、script(腳本),本章重點了解weex的三要素與通用樣式窍帝。

weex三要素

foovue.jpg

在使用weex的init創(chuàng)建weex項目時努潘,會默認(rèn)生成foo.vue文件,從上圖看出坤学,主要有template疯坤、style、script三部分深浮,weex主要是基于MVVM压怠。

1. template

主要是組件的引用,大體頁面布局

style

主要是組件的CSS樣式引用

script

主要就是js的調(diào)用飞苇,weex的聲明周期在此實現(xiàn)
'''
<script>
module.exports = {
data: {},
methods: {},

init: function () {
  console.log('在初始化內(nèi)部變量菌瘫,并且添加了事件功能后被觸發(fā)');
},
created: function () {
  console.log('完成數(shù)據(jù)綁定之后,模板編譯之前被觸發(fā)');
},
ready: function () {
  console.log('模板已經(jīng)編譯并且生成了 Virtual DOM 之后被觸發(fā)');
},
destroyed: function () {
  console.log('在頁面被銷毀時調(diào)用');
}

}
</script>
'''
其中:

  • data屬于綁定的數(shù)據(jù)布卡,init雨让、created、ready是Weex的生命周期方法羽利。
  • methods中存放用戶定義的一些js事件宫患。
  • computed中主要是對綁定數(shù)據(jù)data部分進行預(yù)處理。
  • init內(nèi)一般用于初始化一些內(nèi)部變量这弧,綁定一些自定義事件娃闲,這時還沒有數(shù)據(jù)綁定,沒有創(chuàng)建vdom匾浪,所以不能通過this獲取到data和methods皇帮,也不能獲取vdom的節(jié)點
  • created 完成了數(shù)據(jù)綁定 ,但還未開始編譯模板蛋辈,可以通過this獲取data和methods属拾,但不能獲取vdom的節(jié)點
  • ready表示渲染完成 将谊,從子組件往上觸發(fā)
  • destroyed 組件銷毀,比如頁面跳轉(zhuǎn)渐白,從子組件開始往上觸發(fā)

weex樣式

(盒模型)[https://www.w3.org/TR/css3-box/]

軟件開發(fā)尊浓,在討論設(shè)計或布局時,會提到「盒模型」這個概念纯衍,盒模型描述了一個元素所占用的空間栋齿。每一個盒子有四條邊界:外邊距邊界 margin edge, 邊框邊界 border edge, 內(nèi)邊距邊界 padding edge 與內(nèi)容邊界 content edge(如下圖)。這四層邊界襟诸,形成一層層的盒子包裹起來瓦堵,這就是盒模型大體上的含義。


css盒模型.png

所有Weex 組件都支持盒模型歌亲,而Weex盒模型是基于CSS盒模型菇用,即CSS Flexbox,每個 Weex 元素都可視作一個盒子陷揪。

Weex盒模型

  • width {length}:總寬度
  • height {length}:總高度
  • padding {length}:內(nèi)邊距惋鸥,內(nèi)容和邊框之間的距離,具體為padding-left {length}鹅龄,padding-right {length}揩慕,padding-top {length},padding-bottom {length}
  • margin {length}:外邊距扮休,元素和元素之間的空白距離迎卤,具體為margin-left {length},margin-right {length}玷坠,margin-top {length}蜗搔,margin-bottom {length}
  • border {length}:設(shè)定邊框,具體有border-style(border-left-style {string}八堡、border-top-style {string}樟凄、border-right-style {string}、border-bottom-style {string})兄渺,border-width(border-left-width {length}缝龄、border-top-width {length}、border-right-width {length}挂谍、border-bottom-width {length})叔壤、border-color (border-left-color {color}、border-top-color {color}口叙、border-right-color {color}炼绘、border-bottom-color {color}),border-radius(border-bottom-left-radius {length}妄田、border-bottom-right-radius {length}俺亮、border-top-left-radius {length}驮捍、border-top-right-radius {length})

示例

'''
<template>
<div>
<image style="width: 400px; height: 200px; margin-left: 20px;" src="https://g.alicdn.com/mtb/lab-zikuan/0.0.18/weex/weex_logo_blue@3x.png"></image>
</div>
</template>
'''

注意

  1. Weex 對于長度值目前只支持像素值,不支持相對單位(em脚曾、rem)东且。
  2. Weex 盒模型的 box-sizing 默認(rèn)為 border-box,即盒子的寬高包含內(nèi)容斟珊、內(nèi)邊距和邊框的寬度苇倡,不包含外邊距的寬度富纸。
  3. 目前在 <image> 組件上尚無法只定義一個或幾個角的 border-radius囤踩。比如你無法在這兩個組件上使用 border-top-left-radius。該約束只對 iOS 生效晓褪,Android 并不受此限制堵漱。

(Flexbox)[https://www.w3.org/TR/css-flexbox-1/]

在 Weex 中,F(xiàn)lexbox 是默認(rèn)且唯一的布局模型涣仿,所以你不需要手動為元素添加 display: flex; 屬性勤庐。

Flex 容器

如果一個 Weex 元素可以容納其他元素,那么它就成為 flex 容器好港。

Flex 成員項

position 定位

Weex 支持 position 定位愉镰,用法與 CSS position 類似。為元素設(shè)置 position 后钧汹,可通過 top丈探、right、bottom拔莱、left 四個屬性設(shè)置元素坐標(biāo)碗降。

  1. position {string},設(shè)置定位類型√燎兀可選值為 relative | absolute | fixed | sticky讼渊,默認(rèn)值為 relative。
  • relative 是默認(rèn)值尊剔,指的是相對定位爪幻;
  • absolute 是絕對定位,以元素的容器作為參考系须误;
  • fixed 保證元素在頁面窗口中的對應(yīng)位置顯示挨稿;
  • sticky 指的是僅當(dāng)元素滾動到頁面之外時,元素會固定在頁面窗口的頂部霹期。
  1. top {number}:距離上方的偏移量叶组,默認(rèn)為 0。
  2. bottom {number}:距離下方的偏移量历造,默認(rèn)為 0甩十。
  3. left {number}:距離左方的偏移量船庇,默認(rèn)為 0。
  4. right {number}:距離右方的偏移量侣监,默認(rèn)為 0鸭轮。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市橄霉,隨后出現(xiàn)的幾起案子窃爷,更是在濱河造成了極大的恐慌,老刑警劉巖姓蜂,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件按厘,死亡現(xiàn)場離奇詭異,居然都是意外死亡钱慢,警方通過查閱死者的電腦和手機逮京,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來束莫,“玉大人懒棉,你說我怎么就攤上這事±缆蹋” “怎么了策严?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饿敲。 經(jīng)常有香客問我妻导,道長,這世上最難降的妖魔是什么诀蓉? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任栗竖,我火速辦了婚禮,結(jié)果婚禮上渠啤,老公的妹妹穿的比我還像新娘狐肢。我一直安慰自己,他們只是感情好沥曹,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布份名。 她就那樣靜靜地躺著,像睡著了一般妓美。 火紅的嫁衣襯著肌膚如雪僵腺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天壶栋,我揣著相機與錄音辰如,去河邊找鬼。 笑死贵试,一個胖子當(dāng)著我的面吹牛琉兜,可吹牛的內(nèi)容都是我干的凯正。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼豌蟋,長吁一口氣:“原來是場噩夢啊……” “哼廊散!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起梧疲,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤允睹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后幌氮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缭受,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年浩销,在試婚紗的時候發(fā)現(xiàn)自己被綠了贯涎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡慢洋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陆盘,到底是詐尸還是另有隱情普筹,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布隘马,位于F島的核電站太防,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏酸员。R本人自食惡果不足惜蜒车,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望幔嗦。 院中可真熱鬧酿愧,春花似錦、人聲如沸邀泉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汇恤。三九已至庞钢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間因谎,已是汗流浹背基括。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留财岔,地道東北人风皿。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓饭冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揪阶。 傳聞我的和親對象是個殘疾皇子昌抠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實現(xiàn)很多漂亮的圖形,我收集了32種圖形鲁僚,在下面列出炊苫。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,551評論 0 8
  • 在學(xué)習(xí)weex的過程中看到了常用標(biāo)簽相關(guān)的內(nèi)容冰沙,為了自己以后能夠快速查閱特整理出此文檔侨艾。 a 簡介組件定義了指向某...
    TyroneTang閱讀 4,670評論 1 3
  • 《必然》是凱文·凱利“觀察·反思·展望”三部曲的收官之作,中文版先于英文版出版拓挥,前兩部《失控》和《科技想要什么》在...
    彎仔小饅頭閱讀 1,505評論 0 51
  • 哈哈唠梨,一直想演一出自己的舞臺劇想好了腳本、道具侥啤、角色当叭、燈光??卻一直拿不到場地卻不願意識到縱然不捨還是放下吧 會來...
    Pope怯懦懦地閱讀 175評論 0 1
  • 美國2016年GDP增長僅1.6%蚁鳖,如扣除第三產(chǎn)業(yè)(服務(wù)、金融)占比達80%以上的增長赁炎,占比不到20%實體經(jīng)濟增長...
    穆忠澤閱讀 342評論 2 0