1. 程式人生 > >頭條小程式原始碼

頭條小程式原始碼

類似於頁面,自定義元件擁有自己的 ttml/wxml 模版和 ttss/wxss 樣式。

元件模版

元件模版的寫法與頁面模板相同。元件模版與元件資料結合後生成的節點樹,將被插入到元件的引用位置上。

在元件模板中可以提供一個 節點,用於承載元件引用時提供的子節點。

元件內部節點 元件 slot 內容 注意,在模版中引用到的自定義元件及其對應的節點名需要在 json 檔案中顯式定義,否則會被當作一個無意義的節點。除此以外,節點名也可以被宣告為抽象節點

模版資料繫結

與普通的 ttml/wxml 模版類似,可以使用資料繫結,這樣就可以向子元件的屬性傳遞動態資料。

元件 slot 內容 在以上例子中,元件的屬性 dataA 和 dataB 將收到頁面傳遞的資料。頁面可以通過 setData 來改變繫結的資料欄位。

元件的 slot

在元件的 ttml/wxml 中可以包含 slot 節點,用於承載元件使用者提供的 ttml/wxml 結構。

預設情況下,一個元件的 ttml/wxml 中只能有一個 slot。需要使用多 slot 時,應使用不同的 name 來區分。

Content gose here 使用時,用 slot 屬性來將節點插入到不同的 slot 上。 這裡是插入到元件slot name="before"中的內容
<!-- 這部分內容將被放置在元件 <slot name="after"> 的位置上 -->
<view slot="after">這裡是插入到元件slot name="after"中的內容</view>
# 元件樣式 元件對應 ttss/wxss 檔案的樣式,只對元件 ttml/wxml 內的節點生效。編寫元件樣式時,需要注意以下幾點:

繼承樣式,如 font 、color ,會從元件外繼承到元件內。
除繼承樣式外,app.ttss/wxss 中的樣式、元件所在頁面的的樣式對自定義元件無效。
除此以外,元件可以使用 :host 選擇器,指定它所在節點的預設樣式。

/* 元件 my-component 的樣式表 */
:host {
color: red;
}
在 ttml 中:

這段文字為紅色的

外部樣式類

此功能正在支援中