本文實例講述了微信小程序自定義組件傳值 頁面和組件相互傳數據操作。分享給大家供大家參考,具體如下:
要想在組件中調到頁面中的方法,并且想要組件中傳數據到頁面去,emmmm,可以醬紫:
用組件事件 triggerEvent!
首先,在頁面中定義組件 ,json文件中記得加上:
{ "usingComponents": { "user-btn": "/pages/component/userInfo/userInfo" }},
然后,index.wxml~
index.wxml
...<user-btn show="{{userShow}}" bind:showTab="showTab"></user-btn>...
到了組建:
// 與頁面銜接 觸發頁面中的方法并傳數據this.triggerEvent('showTab', res.data);
res.data
就是組件中請求到的數據;
回到index.js,他的showTab方法~
showTab:function(e){ console.log('this is showtabBar'); console.log(e.detail); },
那么這個e.detail
就能獲取到組件中的res.data
的數據啦~
當然 要想從頁面中帶數據到組件:
譬如剛剛index.wxml中的show,在頁面中的index.js可以隨意控制userShow的值:
index.wxml
...<user-btn show="{{userShow}}" bind:showTab="showTab"></user-btn>...
然后在組建中,便可以這樣取到我們從頁面中傳入的值。
properties: { //對外屬性,即如果外部的wxml文件傳入數據時,會把數據設置成properties的屬性 'show':{ type:Boolean, value:'', observer: function (newVal, oldVal) { console.log(newVal) } }, }, ready:function(){ console.log(this.properties); },
好啦 大功告成!
希望本文所述對大家微信小程序開發有所幫助。
|
新聞熱點
疑難解答