微信小程序-子向父传递数据
1.上篇父向子传递数据过程中,点击标题虽然样式进行了改变,但AppData中观察data中的数据并没有改变
2.出现以上情况的原因是:
子组件data数据为空,点击Tabs项切换标题执行handleItemTap方法时,无法拿到data中的数据,
所以只能从父组件传递过来的数据中拿tabs数据,数据遍历修改之后又把tabs赋值给了子组件的data。
而存在于父组件中的tabs源数组中的数据并没有被修改,因此在程序中存在两组不同的tabs数据,这是不正确的
3.解决方案
3.1 点击事件触发的时候,触发父组件中的自定义事件,同时传递数据给父组件,
此处把点击的索引值传递给父组件
this.triggerEvent("父组件自定义事件的名称",要传递的参数)
3.2 子组件向父组件传递数据,通过事件的方式传递,需要在子组件的标签上加入一个自定义事件
3.3 父组件在自己的js中,自定义事件,用来接收子组件传递的数据,根据子组件传递过来的索引值,处理tabs的数据
4.此时,点击标题切换样式的同时,数据也随着改变了