父组件有个一数组 结构如下
data = [
{xx:xx},
{xx:xx}......
]
我将data里面的对象传给了子组件,子组件想要修改这个对象的值,怎么才能使父组件的值刷新,
而且根据vue文档说的
我直接在子组件里修改这个对象,父组件应该是会发生变化的,但是却毫无反应。
ps: 使用了$emit 这个方法,可以做到,但是因为某些原因,$emit 对于我来说不是最好的方案。
请哪位大神指点下。
父组件有个一数组 结构如下
data = [
{xx:xx},
{xx:xx}......
]
我将data里面的对象传给了子组件,子组件想要修改这个对象的值,怎么才能使父组件的值刷新,
而且根据vue文档说的
我直接在子组件里修改这个对象,父组件应该是会发生变化的,但是却毫无反应。
ps: 使用了$emit 这个方法,可以做到,但是因为某些原因,$emit 对于我来说不是最好的方案。
请哪位大神指点下。
最好是使用$emit通过传递事件的方式来改值,否则容易在项目中后期给debug带来麻烦..
在子组件里修改props里的值的确会直接修改到父组件传递的值。不知道题主传递的值定义的是在data里,还是在哪里?
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1.首先修改这个对象的值肯定是在父组件里修改
2.父组件里提供修改这个对象的方法,通过props传递给子组件
3.子组件里需要修改的时候调用props上传入的方法