3种方式:
- 属性绑定:父组件 向 ——> 子组件的指定属性设置数据。仅能设置json兼容的数据,如:基本数据类型、object等 (不能传递复杂属性的数据,如:方法等)。
- 事件绑定:子组件 向 ——> 父组件传递数据。(调用triggerEvent方法) 可传递任意数据
- 获取组件实例:通过 方法,获取子组件实例对象,这样就可以直接访问子组件的任意数据和方法。【在父组件中,为子组件添加类名--id / class名,通过selectComponent('子组件id/class名')获取子组件实例及其内部的方法、属性等】
// 父组件
// 子组件
父组件:
- 定义传入子组件的数据(也可以不定义直接传)
- 定义子组件将要调用的函数
- 子组件调用后,通过e.detail获取子组件传递过来的数据
// .wxml 将事件传递给子组件 bind:xxx(子组件调用时的名称,随便起)='父组件中函数名'
// 方法一:bind:+ 方法名(子组件triggerEvent方法中调用的函数名称)。(推荐写法 -- 结构清晰)
<test max='10' age='{
{age}}' obj='{
{propsObj}}' bind:compToPage='syncAge' />
// 方法二:bind+ 方法名(不加:号)