为什么在Vue中使用$ refs时有时需要$ el?

哈维尔·埃利斯

按下ENTER时,我使用了如下代码来触发click事件

<q-tab-panel name="option1" @keyup.enter.native="$refs.button.click()">
...
  <q-btn ref="button" @click="function()" />
...
</q-tab-panel>

标签属于Quasar Framework的组件这段代码不久前就可以使用,但是现在需要进行以下更改:

<q-tab-panel name="option1" @keyup.enter.native="$refs.button.$el.click()">

也就是说,现在使用引用$refs.button.click()ENTER键时产生错误

[Vue警告]:v-on处理程序中的错误:“ TypeError:无法读取未定义的属性'defaultPrevented'”

为什么以前可以工作,为什么现在不工作?我看到有人提到它与Vue版本有关,或者引用是在组件中使用的,而不是在本机DOM元素中使用的。请参阅是否可以使用Vue.js触发事件?我还看到了Vue-何时以及为什么使用$ el,它无法回答为什么以前不起作用,而现在却不起作用。

Vue文档对以下内容进行了说明$el

Vue实例正在管理的根DOM元素。

这是有道理的,但没有解释为什么不需要它。就我而言,该错误发生在Vue 2.6.10中。

艾尔顿

当前,a$ref返回Vue组件的实例。click()是要在DOM元素上调用的方法(尽管您可以click在组件中添加一个方法)。要调用它,您需要使用实际的DOM元素$el$el返回附加了给定Vue实例的DOM节点。

话虽如此,我对它为什么能工作之前以及为什么不再工作的最好猜测是,Vue将这种行为从一个版本更改为另一个版本,并且在(如果)更改版本时注意到了这一点。

造成这种差异的另一个可能原因是,在您以前的用例中,您使用的标签不是Vue组件,而是常见的HTML标签。在那种情况下,a$ref仍会返回DOM节点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么有时有时需要手动重启路由器?

来自分类Dev

为什么有时有时需要手动导入密钥?

来自分类Dev

为什么在熊猫中进行元素操作时有时需要添加.value?

来自分类Dev

为什么.rstrip()有时有效,但有时却无效?

来自分类Dev

为什么有时有时无法编辑Google表格公式行距?

来自分类Dev

为什么有时有时可以从右边折叠无限个列表?

来自分类Dev

为什么有时有时首选关键代理而不是配置文件?

来自分类Dev

为什么我有时需要在列表中使用 key()?

来自分类Java

为什么在Spring的@Configuration中使用@Autowired时有时会失败?

来自分类Dev

PowerShell:使用 @{Add=''} 有时有效,有时无效

来自分类Dev

为什么这个 file_get_contents() 有时有效,有时无效?

来自分类Dev

为什么 console.log(undefined) 有时有效,但有时无效?

来自分类Dev

SQL Connect By Level 有时有效,有时不明白为什么

来自分类Dev

为什么我有时需要使用JSON.stringify而有时不需要

来自分类Dev

为什么在使用 tput el1 时需要 \r

来自分类Dev

在Scala 2.13中,为什么有时有时无法显式地召唤类型类?

来自分类Dev

为什么TypeScript有时有时只将不可能的交集视为“从不”?

来自分类Dev

为什么有时有时将复制构造函数声明为显式非内联的?

来自分类Dev

在Java中,为什么在创建新对象时有时将父类放在左侧?

来自分类Dev

为什么 HashSet 在依赖默认哈希和等于时有时不添加对象?

来自分类Dev

为什么Visualforce页面需要无效的HTML?(有时)

来自分类Dev

为什么有时需要外部包装箱?

来自分类Dev

为什么OCaml有时需要eta扩展?

来自分类Dev

为什么有时在元字符周围需要空格?

来自分类Dev

为什么在Ruby中有时需要加括号?

来自分类Dev

在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

来自分类Dev

为什么我有时需要在 proc 作为 arg 传递时使用 & 前缀?

来自分类Dev

为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

来自分类Dev

为什么在 Rails 中有时我需要一个包,有时我不需要?

Related 相关文章

  1. 1

    为什么有时有时需要手动重启路由器?

  2. 2

    为什么有时有时需要手动导入密钥?

  3. 3

    为什么在熊猫中进行元素操作时有时需要添加.value?

  4. 4

    为什么.rstrip()有时有效,但有时却无效?

  5. 5

    为什么有时有时无法编辑Google表格公式行距?

  6. 6

    为什么有时有时可以从右边折叠无限个列表?

  7. 7

    为什么有时有时首选关键代理而不是配置文件?

  8. 8

    为什么我有时需要在列表中使用 key()?

  9. 9

    为什么在Spring的@Configuration中使用@Autowired时有时会失败?

  10. 10

    PowerShell:使用 @{Add=''} 有时有效,有时无效

  11. 11

    为什么这个 file_get_contents() 有时有效,有时无效?

  12. 12

    为什么 console.log(undefined) 有时有效,但有时无效?

  13. 13

    SQL Connect By Level 有时有效,有时不明白为什么

  14. 14

    为什么我有时需要使用JSON.stringify而有时不需要

  15. 15

    为什么在使用 tput el1 时需要 \r

  16. 16

    在Scala 2.13中,为什么有时有时无法显式地召唤类型类?

  17. 17

    为什么TypeScript有时有时只将不可能的交集视为“从不”?

  18. 18

    为什么有时有时将复制构造函数声明为显式非内联的?

  19. 19

    在Java中,为什么在创建新对象时有时将父类放在左侧?

  20. 20

    为什么 HashSet 在依赖默认哈希和等于时有时不添加对象?

  21. 21

    为什么Visualforce页面需要无效的HTML?(有时)

  22. 22

    为什么有时需要外部包装箱?

  23. 23

    为什么OCaml有时需要eta扩展?

  24. 24

    为什么有时在元字符周围需要空格?

  25. 25

    为什么在Ruby中有时需要加括号?

  26. 26

    在Ubuntu上,为什么有时有时会“ sudo apt-get”而有时却会“ sudo aptitude”?

  27. 27

    为什么我有时需要在 proc 作为 arg 传递时使用 & 前缀?

  28. 28

    为什么“尝试/捕获”中的命令有时需要-ErrorAction停止,而有时则不需要?

  29. 29

    为什么在 Rails 中有时我需要一个包,有时我不需要?

热门标签

归档