微信小程序如何子组件改变父组件数据(状态)?

发布于 2022-09-12 01:26:01 字数 281 浏览 12 评论 0

  1. 假设父组件有一个数据 count
  2. 子组件为list
  3. list组件包含子组件listItem
  4. 那么子子组件listItem如何来修改父组件的数据呢?

按照官网的父子组件数据传递方式,是通过bind:myevent传递自定义事件的方式来修改数据,但是遇到子子组件、多代子组件的情况,这种方式代码量非常冗余,而且可读性差,有没有类似react中可以直接通过prop传递一个方法的方式修改上层数据?或者类似redux provider这样的全局数据管理容器?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小苏打饼 2022-09-19 01:26:01

globalData可以使用,但是有时候不会视图不会及时更新,所以如果不觉得有点奇怪的话,也可以直接在子组件setData父组件的data,来达到目的。

/*
* app.js中定义获取当前页面
*/

getTopPage()  {

let pages =  getCurrentPages()

return pages[pages.length -  1]

}
app.getTopPage().setData({ // 更新父组件数据

refresh:  true

})
一笑百媚生 2022-09-19 01:26:01

小程序不是有个 global 变量么,你可以把它当 redux provider 用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文