因經常寫vue,很久沒寫小程序,容易串頻道,現記錄一下小程序的組件用法、監聽傳入值及父子傳值方式
首先小程序中傳值是沒有:(冒號)的,其次properties中定義默認值不需要寫default
1.自定義組件中,首先json文件需要component:true
2.父組件使用時在json中引入:
父組件中的.js中定義變量:
父組件.wxml中引入組件:
<common-area bindchangeLoading="changeLoading" bindgetadd="getLocalCity" bindclose='goback' list="{{treeData}}" defArr="{{defArr}}" values="{{values}}" bindgetText="getText" id="common-area"></common-area>
3.子組件properties接收值,并設默認值
4.想像vue中watch監聽父組件值發生變化,我們可以用observers,需要注意的是他只有父組件傳入值,并不保留原有值,所以只有newValue
5.子組件向父組件傳值:triggerEvent(‘事件名’, ‘值’)(注意components方法需要寫在methods里)
父組件接收,只需用bind+子組件拋出的事件名,即bindclose即可:
獲取子組件值的方法:
goback({detail}){ console.log(detail) // detail輸出值即為子組件拋出值
}