五、说一下vue父组件给了组件传值,子组件不更新的可能原因,怎么解决?

父组件传来的数据 parentData ,你在子组件又做了一个数据childData ,并且你只是进行了第一次的赋值(把parentData给了childData),父组件更新数据的时候,并没有对子组件的childData做额外的处理更新,子组件就不会做自动更新数据。

推荐: 子组件不要赋值直接把辅组件挂载在子组件上本身就是响应式,如果业务允许的情况下强烈推荐!!!!

1、在子组件中watch 去监听 parentData ,一旦改变就重新赋值childData为新的值

2、computed: 或者直接用childData写成computed属性, return组件的parentData。

3、组件重载:给调用子组件的地方加个key属性,parentData改变的时候,去修改这个key,触发childData的重新赋值(不太推荐)

posted @ 2022-12-30 17:57  他她  阅读(5042)  评论(0编辑  收藏  举报