亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序自定義組件封裝及父子間組件傳值的方法

2020-03-21 16:11:27
字體:
來源:轉載
供稿:網友

首先在我們可以直接寫到需要的 page 中,然后再進行抽取組件,自定義組件建議 wxzx-xxx 命名

官網地址:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/

例如,我們封裝的組件名為 **wxzx-loadmore

微信小程序,組件封裝,父子間,組件傳值

wxzx-loadmore.wxml

<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過來

wxzx-loadmore.js

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事件       */    },  }})

index.wxml 父組件

<wxzx-loadmore     response="{{comment_list}}"    is_loadmore="{{is_loadmore}}"    bind:myevent="get_emit"    ></wxzx-loadmore><!-- 這就是在父組件中調用子組件,然后基于子組件傳值來在父組件中賦值 -->

index.js 中

// 接受子組件的傳值  get_emit: function (e) {    this.setData({      is_show: e.detail.val    })  },

index.json 這里需要引入組件,在哪個父頁面中引用子組件,就在哪個json文件中引入

{  "usingComponents": {    "wxzx-loadmore": "/component/wxzx-loadmore/wxzx-loadmore"  }}

父組件向子組件傳參

聲明:A組件為父組件,B組件為子組件,以下是A組件向B組件傳參:

在A組件中引入B組件

在A組件的json中寫入:

{"component": true,"usingComponents": {"componentB": "../child2/child2"}}

在A組件的wxml中寫入:

<view>我是組件A</view><view><view>子組件內容:</view><componentB paramAtoB='我是A向B中傳入的參數'/></view>

在B組件的js中寫入:

Component({behaviors: [],properties: {paramAtoB:String},data: {}, // 私有數據,可用于模版渲染// 生命周期函數,可以為函數,或一個在methods段中定義的方法名attached: function () { },moved: function () { },detached: function () { },methods: {}})

即在properties中定義A組件要傳過來的參數類型

在B組件的wxml中寫入:

<view style='border:2px solid gray;'><view style='text-align:center;'>我是組件B</view><view>A中傳入的參數:{{paramAtoB}}</view></view>

總結: A組件向B組件傳參,實際上就是在A組件中引入B組件的時候,帶上一個屬性paramAtoB,并且給其賦值,然后B組件通過這個屬性名稱paramAtoB,獲取其值

子組件向父組件傳參

聲明:A組件為父組件,B組件為子組件,以下是B組件向A組件傳參:

要讓子組件給父組件傳參,首先得在父組件引入子組件的時候,加個觸發事件,如下:

在父組件A中wxml:

<view style='padding:20px;border:2px solid red;'><view style='text-align:center;'>我是組件A</view><view><view>A組件內容:</view><view>B組件傳入參數:{{paramBtoA}}</view><componentB paramAtoB='我是A向B中傳入的參數' bind:myevent="onMyEvent"/></view></view>

myevent就是綁定的觸發事件

在父組件A中js:

Component({behaviors: [],properties: {},data: {}, // 私有數據,可用于模版渲染// 生命周期函數,可以為函數,或一個在methods段中定義的方法名attached: function () { },moved: function () { },detached: function () { },methods: {onMyEvent:function(e){this.setData({paramBtoA: e.detail.paramBtoA})}}})

onMyEvent就是當被子組件觸發時的函數

在子組件B中wxml:

<view style='border:2px solid gray;'><view style='text-align:center;'>我是組件B</view><view>A中傳入的參數:{{paramAtoB}}</view><button bindtap='change'>向A中傳入參數</button></view>

button按鈕點擊事件一觸發,就可以傳入參數進入父組件A中,在子組件B中js:

Component({behaviors: [],properties: {paramAtoB:String},data: {}, // 私有數據,可用于模版渲染// 生命周期函數,可以為函數,或一個在methods段中定義的方法名attached: function () { },moved: function () { },detached: function () { },methods: {change:function(){this.triggerEvent('myevent', { paramBtoA:123});}}})

this.triggerEvent就是按鈕點擊之后執行的事件,觸發myevent事件,傳入參數paramBtoA進入父組件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文综合在线观看| 国产精品久久电影观看| 欧美成人h版在线观看| 成人av在线网址| 欧美不卡视频一区发布| 欧美色图在线视频| 亚洲精品国产拍免费91在线| 亚洲精品动漫久久久久| 亚洲九九九在线观看| 九九热在线精品视频| 久久国产精品久久久久久| 欧美激情18p| 欧美性高跟鞋xxxxhd| 另类专区欧美制服同性| 成人av.网址在线网站| 欧美性极品少妇精品网站| 国产成人精品最新| 欧美中文字幕在线播放| 亚洲欧洲xxxx| 成人精品久久av网站| 亚州精品天堂中文字幕| 欧美日韩在线免费| 亚洲欧洲美洲在线综合| 亚洲精品视频在线观看视频| 97国产成人精品视频| 狠狠躁夜夜躁人人爽天天天天97| 日韩精品欧美激情| 久久亚洲国产精品成人av秋霞| 久久亚洲一区二区三区四区五区高| 中文字幕日韩欧美精品在线观看| 日韩精品视频观看| 国产欧美日韩高清| 欧美在线欧美在线| 久久国产精品久久久| 国产大片精品免费永久看nba| 国产一区二区三区在线视频| 精品久久久久久久久久ntr影视| 亚洲成人免费在线视频| 亚洲老头老太hd| 久久久国产精彩视频美女艺术照福利| 欧美中文字幕精品| 夜夜嗨av色综合久久久综合网| 91精品久久久久久久久久久久久久| 国语自产精品视频在免费| 国产免费一区二区三区在线观看| 日本午夜人人精品| 亚洲乱码国产乱码精品精| 欧美大尺度在线观看| 亚洲欧美福利视频| 亚洲欧美一区二区精品久久久| 精品久久香蕉国产线看观看亚洲| 97超级碰碰人国产在线观看| 久久伊人精品一区二区三区| 亚洲成色999久久网站| 成人网中文字幕| 91免费国产网站| 这里只有精品丝袜| 亚洲国产精品小视频| 欧美日韩在线视频一区| 精品视频久久久久久| 亚洲91精品在线| 亚洲女在线观看| 亚洲一区制服诱惑| 日本中文字幕成人| 欧美激情国产日韩精品一区18| 国产精品日韩一区| 精品亚洲一区二区三区在线观看| 九九热精品视频| 成人免费网站在线| 日韩在线一区二区三区免费视频| 日韩精品在线视频美女| 亚洲欧美日韩天堂| 国产精品久久久久久久久久久久久久| 久久99久久99精品免观看粉嫩| www.国产精品一二区| 日韩欧美一区视频| 成人免费大片黄在线播放| 亚洲精品aⅴ中文字幕乱码| 中文字幕亚洲色图| 福利二区91精品bt7086| 亚洲午夜精品久久久久久久久久久久| 久久露脸国产精品| 伊人男人综合视频网| 一本一道久久a久久精品逆3p| 久精品免费视频| 久久不射电影网| 国产精品电影久久久久电影网| 精品久久中文字幕久久av| 欧美激情三级免费| 国产欧美日韩丝袜精品一区| 午夜精品久久久久久久99热浪潮| 69久久夜色精品国产69| 亚洲国产成人精品久久| 久热精品视频在线观看一区| 中文.日本.精品| 国内精品视频在线| 日韩综合中文字幕| 高清在线视频日韩欧美| 国产精品成人在线| 日韩av一卡二卡| 久久久噜噜噜久久| 麻豆国产精品va在线观看不卡| 国产精品成人av在线| 亚洲成人精品久久| 欧美黄色小视频| 欧美日韩日本国产| 久久艳片www.17c.com| 久久久免费精品视频| 亚洲欧美日韩精品久久奇米色影视| 久久久久久国产精品三级玉女聊斋| 中国人与牲禽动交精品| 成人激情在线观看| 亚洲精品中文字| 久青草国产97香蕉在线视频| 欧美精品激情视频| 国产精品专区第二| 亚洲色图第三页| 国产精品精品视频一区二区三区| 91夜夜未满十八勿入爽爽影院| 97婷婷大伊香蕉精品视频| 中文字幕av日韩| 亚洲男人第一av网站| 久久久女女女女999久久| 美女少妇精品视频| 久久av在线播放| 欧美又大又硬又粗bbbbb| 亚洲一区二区少妇| 国产美女精品免费电影| 亚洲视频一区二区三区| 91在线看www| 国产精品综合网站| 亚洲成人亚洲激情| 国产视频观看一区| 欧美极品xxxx| 91精品国产一区| 亚洲国产另类 国产精品国产免费| 欧美二区乱c黑人| 欧美国产日韩在线| 国产精品久久久91| 激情成人中文字幕| 色中色综合影院手机版在线观看| 国模精品一区二区三区色天香| 久久久久久欧美| 在线观看国产精品日韩av| 欧美精品在线观看| 欧美性猛交xxxx免费看漫画| 亚洲福利视频久久| 欧美人与性动交| 日韩成人黄色av| 日韩在线一区二区三区免费视频| 91老司机精品视频| 福利一区福利二区微拍刺激| 国产精品美女免费看| 亚洲大胆人体视频| 国产精品久久久久久av下载红粉| 欧美精品在线免费| 欧美老少做受xxxx高潮| 久久久久久国产精品美女| 亚洲成人av片在线观看| 日韩av在线免费观看一区| 5278欧美一区二区三区| 国产欧美日韩精品在线观看| 亚洲人成网7777777国产| 久久久久久综合网天天|