$refs是Vue.js中一個非常實用的特性,它是一個對象,可以在Vue模板或組件的JavaScript中使用。在模板或組件中,可以給某個元素或組件添加ref屬性,這樣$refs就可以訪問這個元素或組件了。
這是ref屬性的語法:
<template> <input ref="myInput"> </template> <script> export default { methods: { focusInput () { this.$refs.myInput.focus(); } } } </script>
在上面的例子中,我們在一個input元素上定義了一個名為“myInput”的ref屬性。接下來我們在Vue組件的methods里定義了一個將輸入框聚焦的函數“focusInput”,這個函數可以通過Vue實例上的$refs屬性來訪問我們定義的這個input元素。
然后我們就可以在模板中使用這個函數了:
<template> <div> <input ref="myInput"> <button @click="focusInput">Focus Input</button> </div> </template>
當點擊“Focus Input”按鈕的時候,輸入框就會被聚焦。
通常情況下,我們可以通過ref來訪問組件實例的方法和屬性:
<template> <div> <my-component ref="myComponentRef"></my-component> <button @click="doSomething">Do Something</button> </div> </template> <script> export default { methods: { doSomething () { this.$refs.myComponentRef.doSomething(); } } } </script>
在這個例子中,我們定義了一個名為“myComponentRef”的ref屬性,并通過這個屬性來訪問my-component組件實例的doSomething方法。