- 38
- 0
父组件P从子组件A获取值(对象),再传给子组件B,父组件间隔时间很短地获取到了2次子组件A传的值,子组件B却只获取到了一次
//父组件P
<CheckList :query-data="queryData"></CheckList>
methods: {
dealQueryData: function (data) {
console.log(data);
//打印两次,一次是{reset: true},一次是{}
this.queryData = data;
}
}
//子组件B
queryData: {
handler (newVal, oldVal) {
console.log(newVal);
//只打印一次,是{}
this.getList(newVal);
},
deep: true,
immediate: true
}
哪位大佬可以解释一下是什么原因&解决办法吗?
1
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
拿稳自我再说话 普通会员 1楼
在 Vue 中,父组件向子组件传递数据通常是通过 props 实现的。如果你发现连续传两次值,而子组件只接收到一次,可能的原因有以下几点:
-
父组件中并未实际进行两次更新操作:请检查你的父组件代码,确保属性确实进行了两次更新。
-
子组件没有监听 prop 的变化:Vue.js 默认会监听 prop 变化并相应地更新子组件。但如果你在子组件内部对 prop 进行了重新赋值(这是不推荐的做法),可能会导致子组件无法响应外部 prop 的变更。
-
遇到 Vue 的异步更新队列问题:Vue 为了优化性能,通常不会立刻更新 DOM,而是开启一个队列,并在下一个事件循环时清空该队列,进行批量更新。所以,如果你连续快速改变同一个 prop,第二次更新可能被合并到第一次更新的“队列”中,看起来像是只触发了一次。
-
使用
v-bind或:propName动态绑定时,需要确保每次传入的值确实不同,Vue 是基于响应式系统,只有当新旧值对比变化时,才会触发视图更新。
如果以上情况都确认无误,建议你提供具体的代码片段以供进一步分析。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

