微信小程式之自定義元件

2021-08-15 17:21:47 字數 3263 閱讀 4419

根據官方文件

自定義元件一步一步來

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

class="circle_box"

style="width:

}px;height:

}px">

class="circle_bg"

canvas-id="}"

style="width:

}px;height:

}px">

canvas>

class="circle_draw"

canvas-id="}"

style="width:

}px;height:

}px">

canvas>

slot>

view>

/* components/circle/circle.wxss */

.circle_box,.circle_draw

.circle_bg

/* components/circle/circle.js */

component(,

properties: ,

draw: ,

},data: ,

methods: );

// 使用 wx.createcontext 獲取繪圖上下文 ctx 繪製背景圓環

var ctx = wx.createcanvascontext(id)

ctx.setlinewidth(w / 2);

ctx.setstrokestyle('#20183b');

ctx.setlinecap('round')

ctx.beginpath();//開始乙個新的路徑

//設定乙個原點(x,y),半徑為r的圓的路徑到當前路徑 此處x=y=r

ctx.arc(x, x, x - w, 0, 2 * math.pi, false);

ctx.stroke();//對當前路徑進行描邊

ctx.draw();

},drawcircle: function (id, x, w, step) ,

/* 內部私有方法建議以下劃線開頭 ,

* 自定義元件觸發事件時,需要使用 triggerevent 方法,指定事件名、detail物件和事件選項 */

_runevent()

},// 生命週期函式,可以為函式,或乙個在methods段中定義的方法名

onready: function ()

})

}

class="container">

id='circle1'

bg='circle_bg1'

draw='circle_draw1'

bind:runevent="_runevent" >

class="circle_info"

bindtap="changetime">

class="circle_dot">

view>

class='circle_txt'>

}text>

view>

circle>

view>

/**index.wxss**/

/*圓環進度條文字*/

定義乙個定時器方法countinterval,假設每隔100毫秒 count遞增+1,當 count遞增到100的時候剛好是乙個圓環,然後改變txt值並且清除定時器

在 onready 中呼叫這個定時器方法

data: ,

countinterval: function () else );

clearinterval(this.counttimer);

}}, 100)

},onready: function () ,

id='circle'

bg='circle_bg'

draw='circle_draw'

bind:runevent="_runevent" >

class="circle_text"

bindtap="changetime">

class='circle_time'>

}stext>

view>

circle>

/*圓環倒計時*/

.circle_text

.circle_time

//獲取應用例項

page(,

stepinterval:function());

}this.data.num--;

} else );

}}, 100)

},changetime:function());

// 重新開啟倒計時

this.stepinterval()

// 觸發自定義元件事件

this._runevent()

},onload: function () ,

onready: function () ,

_runevent() ,

})

微信小程式自定義元件

父元素 子元件 可以由多個 子元件 a,b,c,d 父元素 首先是關於元件的建立 1 單獨建立乙個資料夾存放 wxss x.js wxml json這四個檔案,其中主要對元件進行宣告的是json檔案,需要寫入 這段 就是讓元件允許被使用,如果元件需要呼叫另乙個元件中,那麼就需要再usingcompe...

微信小程式自定義元件

根據專案需要,抽離出公共的元件。1 在專案根目錄新建乙個component的資料夾,然後新建自己需要的檔案 專案目錄如下 在component裡面我新建了3個子元件。2 子元件的寫法 只有js檔案格式不一樣,其他的檔案都正常寫。js需要自定義乙個component,參考 示例 component d...

微信小程式 自定義元件

建立自定義元件 元件的構成類似頁面,由json wxml wxss js 4個檔案組成。在新建乙個元件的時候需要在元件的json檔案中設定 components 字段 true 在元件wxss中不應使用id選擇器 屬性選擇器和標籤名選擇器。這句是官方說的,我想應該是會全域性汙染 自定義元件的js檔案...