现有项目为 选择规格创建商品的模块,单独封在一个子组件中。做编辑功能时,往子组件传值,需要把已经选择的值反显出来。首先页面加载的时候,要初始化数据,即先查询出规格列表。但是做反显的时候,不能成功,打印没有初始化数据。即涉及初始化数据和反显的数据先后问题。我使用了setTimeout 在created钩子函数中,让其延迟500ms再去将反显的值赋上去就可以了。但是觉得不太好~~而且时间设成100ms 就不行。。。请问setTimeout能不能使用,有什么利弊?有没有更好的实现方法~~~谢谢
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
你在 create 钩子函数里写的话,数据还没有过来,当然打印没有初始化的数据啊,使用setTimeout缺点就是时间不好把握,如果设置时间长了,造成浪费,时间短了,数据不会出来,所以,楼主要找到数据过来的那个点,楼主应该使用props传递数据的吧,建议用watch来观察这个数据,当有数据传递过来,触发对应的事件
export default { props: { data }, watch: { data (val) { // 说明数据过来了,执行反显数据的操作 console.log(val) } } }
添加回答
举报
0/150
提交
取消