如何使用 VueJS 将数据正确传递给兄弟组件? [英] How to properly pass data to sibling component using VueJS?

查看:15
本文介绍了如何使用 VueJS 将数据正确传递给兄弟组件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有 CountrySelectCitySelect,其中在 CountrySelect 中列出了所有国家,而在 CitySelect 中是只列出了当前所选国家的那些城市...

通过新选择的国家/地区的正确方法是什么.正如我在 vuejs 文档中所读到的:

<块引用>

在Vue中,父子组件关系可以概括为props down,event up.父级通过 props 将数据传递给子级,子级通过事件向父级发送消息.接下来让我们看看它们是如何工作的.

所以在这种情况下,我会检测 CountrySelect 和触发事件 changed 内的选择框的变化,以及一个国家对象.然后CountrySelect 的父组件会监听这个事件,然后当它发生时更新它的属性country.属性 country 在父组件中被观察到",改变其值会导致 DOM 更新,因此 标签上的 HTML 属性称为 country 会改变.但是,我将如何检测 CitySelect 组件的属性更改,因为我需要通过 AJAX 重新加载城市.我想将 country 属性放在 CitySelect 中的 watch 对象中,但这对我来说似乎不是一个优雅的解决方案,感觉并不奇怪正确的做法...