【问题标题】:Vuejs: Typing $refs valuesVuejs:键入 $refs 值
【发布时间】:2021-12-22 21:33:09
【问题描述】:

我有一个使用 Typescript 的 Vuejs (3) 项目。 在使用$refs 时,我试图避免依赖any 类型:

const el = (this.$refs['target'] as any).$el

它会触发以下警告:

warning  Unexpected any. Specify a different type  @typescript-eslint/no-explicit-any

知道我可以使用什么类型而不是任何类型吗?

编辑: 我不想禁用我的 eslint 规则 :)

【问题讨论】:

  • 通常情况下,您不需要?。这里的错误信息是什么?
  • 我刚刚编辑了我的问题
  • 谢谢。正如您在错误消息中看到的,您违反了 ESLint 的 no-explicit-any 规则。您可以在 esLint 配置文件中禁用此规则。
  • Vue3我没查过,但是对于Vue2如果是Vue组件,大概就是你用的$el,可以改用接口Vue或者VueConstructor any
  • @steve16351 干杯伙伴,这就是我要找的,如果你提交这个作为答案,我会接受!

标签: typescript vue.js


【解决方案1】:

由于 ref 指的是 Vue 组件(因为您使用的是 $el),因此您可以使用 Vue 附带的接口 VueVueConstructor 而不是 any。这将使您能够访问组件的基本 Vue 属性,例如 $el$data 等,但不是您自己添加到组件中的特定方法和属性。

这会让 ESLint 满意,因为它使用了比 any 更具体的东西。

【讨论】:

    猜你喜欢
    • 2016-12-26
    • 1970-01-01
    • 2021-07-14
    • 2021-03-21
    • 2017-04-14
    • 2020-11-26
    相关资源
    最近更新 更多