港服(Server.HK)VUE3教程:Vue 3.0 模板引用

该页面假设你已经阅读过了组件基础。如果你还对组件不太了解,推荐你先阅读它。 尽管存在 prop 和事件,但有时你可能仍然…

该页面假设你已经阅读过了组件基础。如果你还对组件不太了解,推荐你先阅读它。

尽管存在 prop 和事件,但有时你可能仍然需要直接访问 JavaScript 中的子组件。为此,可以使用 ref attribute 为子组件或 HTML 元素指定引用 ID。例如:

<input ref="input" />

例如,你希望以编程的方式 focus 这个 input 在组件上挂载,这可能有用

const app = Vue.createApp({})


app.component('base-input', {
  template: `
    <input ref="input" />
  `,
  methods: {
    focusInput() {
      this.$refs.input.focus()
    }
  },
  mounted() {
    this.focusInput()
  }
})

此外,还可以向组件本身添加另一个 ref,并使用它从父组件触发 focusInput 事件:

<base-input ref="usernameInput"></base-input>

this.$refs.usernameInput.focusInput()

refv-for 一起使用时,你得到的 ref 将是一个数组,其中包含镜像数据源的子组件。

WARNING

$refs 只会在组件渲染完成之后生效。这仅作为一个用于直接操作子元素的“逃生舱”——你应该避免在模板或计算属性中访问 $refs

参考:在组合式 API 中使用 template refs

为您推荐

港服(Server.HK)Angular教程:Angular 编译器选项

Angular 编译器选项 使用 AoT 编译 时,可以通过在 Typ...

港服(Server.HK)Vue CLI教程:Vue CLI 快速原型开发

你可以使用 vue serve 和 vue build 命令对单个 *...

港服(Server.HK)SASS教程:7. 小结

本文介绍了sass最基本部分,你可以轻松地使用sass编写清晰、无冗余、语义化的css。对于sass提供的工具你已经有了...

港服(Server.HK)JSON教程:解析javascript 数组(以及json元素的添加删除)

javasscript删除数组的3种方法 1、用shift()方法 shift:删除原数组第一项,并返回删除元素的值;如...

港服(Server.HK)JSON教程:在 Perl 中使用 JSON

本教程将会教我们如何使用 Perl 编程语言编码和解码 JSON 对象。让我们先来准备环境以便针对 JSON 进行 Pe...
返回顶部