如何从不同组件中的一个组件中找到div - vuejs

时间:2018-05-24 22:08:55

标签: javascript jquery vue.js

考虑我有多个Vue.js组件。

<loginFields></loginFields>
<submitButton></submitButton>

现在,在单击submitButton(实际上是具有唯一ID的div)之后,我想要启动一个方法来检查loginFields的值。 组件loginFields具有v-for指令,其中创建多个输入字段,如用户名或密码。 我想要实现的是获取用户loginField和密码loginField的值,并将其传递给submitField中的方法。 使用jQuery很容易 - 调用$(&#39;#userLoginField&#39;)。val()并完成。 我相信有两种方法可以在vue中实现,但我猜他们都不是最好的方法:

  1. 创建总线并在单击submitButton时发出一个事件,该事件启动级联事件,最终返回到submitButton,其值为所有输入字段。我认为这很麻烦。

  2. 调用此。$ parent。$ refs of submitField然后获取inputFields组件的refs,搜索所有其他refs,获取值。它也很混乱。

  3. 是否有一个简短而干净的解决方案,如jQuery版本,可以轻松地从同一父母或兄弟姐妹的其他孩子那里获取数据?每个兄弟姐妹都可以拥有独特的身份,成为同一/不同阶级的一部分,因此可以轻松识别。

    Kalreg。

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法(即最少量的&#34; Vue布线&#34;)正在使用原生形式的submit - 事件,其中包括表单的元素({1}}中的<login-fields>子女)。 event.target.elements - 事件处理程序可以验证这些元素&#39;值根据需要。

submit

demo