頭條小程式原始碼
阿新 • • 發佈:2018-12-22
類似於頁面,自定義元件擁有自己的 ttml/wxml 模版和 ttss/wxss 樣式。
元件模版
元件模版的寫法與頁面模板相同。元件模版與元件資料結合後生成的節點樹,將被插入到元件的引用位置上。
在元件模板中可以提供一個 節點,用於承載元件引用時提供的子節點。
元件內部節點 元件 slot 內容 注意,在模版中引用到的自定義元件及其對應的節點名需要在 json 檔案中顯式定義,否則會被當作一個無意義的節點。除此以外,節點名也可以被宣告為抽象節點模版資料繫結
與普通的 ttml/wxml 模版類似,可以使用資料繫結,這樣就可以向子元件的屬性傳遞動態資料。
元件的 slot
在元件的 ttml/wxml 中可以包含 slot 節點,用於承載元件使用者提供的 ttml/wxml 結構。
預設情況下,一個元件的 ttml/wxml 中只能有一個 slot。需要使用多 slot 時,應使用不同的 name 來區分。
Content gose here 使用時,用 slot 屬性來將節點插入到不同的 slot 上。 這裡是插入到元件slot name="before"中的內容# 元件樣式 元件對應 ttss/wxss 檔案的樣式,只對元件 ttml/wxml 內的節點生效。編寫元件樣式時,需要注意以下幾點:<!-- 這部分內容將被放置在元件 <slot name="after"> 的位置上 --> <view slot="after">這裡是插入到元件slot name="after"中的內容</view>
繼承樣式,如 font 、color ,會從元件外繼承到元件內。
除繼承樣式外,app.ttss/wxss 中的樣式、元件所在頁面的的樣式對自定義元件無效。
除此以外,元件可以使用 :host 選擇器,指定它所在節點的預設樣式。
/* 元件 my-component 的樣式表 */
:host {
color: red;
}
在 ttml 中:
這段文字為紅色的
外部樣式類
此功能正在支援中