动态添加数据时,组件的attached方法里面,每次拿到的数据一样,怎么会这样?

发布于 7 年前作者 gangfang7009 次浏览最后编辑 7 年前来自 issues

index.js页面里有很多item-todo组件,我通过修改todoList来改变item-todo的条数,比如删除一个todo、增加一个todo等。

当我增加一个todo时,我使用unshift()方法向todoList添加todo,然后使用setData()来改变视图。

这时问题出现了,我每次添加一个todo时,item-todo组件里面的attached()方法里面拿到的todo都是初始化时第一条todo,并不是我动态添加的todo,为什么会这样呢,太奇怪了。我的业务需求是每次添加todo的时候,我会在attached方法里面拿到最新的todo,然后做一些处理。

这是界面截图

这时界面右上角button的监听方法

这是组件里面的几个方法

这是打印日志

无论我向组件添加多少todo,attached里面打印的永远是第一条todo,这个问题太奇怪了。

2 回复
na39
na391 楼6 年前

麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

yongqian
yongqian2 楼5 年前

解决了吗?