首先在咱們能夠直接寫到須要的 page 中,而後再進行抽取組件,自定義組件建議 wxzx-xxx 命名javascript
官網地址:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/html
例如,咱們封裝的組件名爲 **wxzx-loadmorejava
<view hidden="{{response.length < 1}}"> <view class="weui-loadmore" hidden="{{is_loadmore}}"> <view class="weui-loading"></view> <view class="weui-loadmore__tips">正在加載</view> </view> <view class="weui-loadmore weui-loadmore_line" hidden="{{!is_loadmore}}"> <text class="weui-loadmore__tips">{{tip}}</text> </view> </view>
這裏就是把index.wxml中的須要封裝成組件的代碼原樣copy過來json
Component({ /** * 組件的屬性列表 */ properties: { response: { type: String, value: '' }, is_loadmore: { type: Boolean, value: false }, tip: { type: String, value: '我是有底線的' } }, /** * 組件的初始數據 */ data: { }, /** * 組件的方法列表 */ methods: { emit: function(data) { // 自定義組件向父組件傳值 let val = data, my_event_detail = { val: val } // myevent自定義名稱事件,父組件中使用 this.triggerEvent('myevent', my_event_detail) /* 在父組件中寫上bind:myevent="get_emit",在父組件中就須要調用get_emit事件 */ }, } })
<wxzx-loadmore response="{{comment_list}}" is_loadmore="{{is_loadmore}}" bind:myevent="get_emit" ></wxzx-loadmore> <!-- 這就是在父組件中調用子組件,而後基於子組件傳值來在父組件中賦值 -->
// 接受子組件的傳值 get_emit: function (e) { this.setData({ is_show: e.detail.val }) },
{ "usingComponents": { "wxzx-loadmore": "/component/wxzx-loadmore/wxzx-loadmore" } }