vue 动态$refs
时间: 2023-09-04 18:10:57 浏览: 101
在Vue中,可以通过`$refs`访问组件或DOM元素。Vue的`$refs`是一个对象,其中包含了注册了`ref`属性的组件或DOM元素。动态访问`$refs`可以通过使用变量来实现。
假设你有一个组件或DOM元素,并且定义了一个`ref`属性,你可以通过`this.$refs.refName`来访问它。其中,`refName`是你给`ref`属性赋予的名称。
如果要动态地访问`$refs`,可以使用方括号加上变量的方式。例如,如果你有一个变量`refName`,你可以通过`this.$refs[refName]`来动态访问相应的组件或DOM元素。
下面是一个示例,演示了如何动态地访问`$refs`:
```html
<template>
<div>
<input type="text" ref="inputRef">
<button @click="focusInput('inputRef')">聚焦输入框</button>
</div>
</template>
<script>
export default {
methods: {
focusInput(refName) {
this.$refs[refName].focus();
}
}
}
</script>
```
在上面的示例中,我们在输入框上定义了一个`ref`属性为"inputRef"。然后,我们在点击按钮时调用了`focusInput`方法,并将"inputRef"作为参数传递。在该方法内部,我们使用`this.$refs[refName]`来动态地访问输入框,并调用`focus()`方法将焦点聚焦到输入框上。
希望这可以解答你的问题!如果还有其他问题,请随时提问。
阅读全文