Vue獲取子組件實例對象ref屬性的方法推薦
前言
在 Vue 中推薦使用 ref 屬性獲取 DOM 元素,這種方式可以提高性能。
如果將 ref 屬性使用在組件上,那么返回的就是這個組件的實例對象。
使用方式:`<p ref="xxx">` 或 `<Banner ref="xxx">` 。
獲取方式:this.$refs.xxx
1.原生 JS 獲取 DOM 元素【不推薦】:
<template> <div> <h2>主頁</h2> <p id="title">{{ msg }}</p> <button @click="getDOM">點擊獲取DOM元素</button> </div> </template> <script> export default { name: 'Home', data() { return { msg: "哇哈哈哈!" } }, methods: { getDOM() { // 通過原生 JS 獲取 DOM 元素 console.log(document.getElementById("title")); } } } </script>
2. 通過 ref 屬性獲取 DOM 元素【推薦】:
<template> <div> <h2>主頁</h2> <p ref="title">{{ msg }}</p> <button @click="getDOM">點擊獲取DOM元素</button> </div> </template> <script> export default { name: 'Home', data() { return { msg: "哇哈哈哈!" } }, methods: { getDOM() { // 通過 ref 屬性獲取 DOM 元素 console.log(this.$refs.title); console.log(this); } } } </script>
注:ref 屬性就是 id 的替代者,會將綁定 ref 屬性的元素添加到 Vue 實例對象上,可以通過 $refs 屬性獲取這個 DOM 元素。
獲取子組件實例對象:
首先需要在 components 文件夾內創(chuàng)建一個子組件。例如:Banner.vue 組件。
<template> <div> <h2>輪播圖</h2> <p>圖片數(shù)量:{{ num }}</p> </div> </template> <script> export default { name: "Banner", data() { return { num: 5 } } } </script>
然后在 Home.vue 頁面引入 banner.vue 組件。并給組件綁定 ref 屬性。
<template> <div> <h2>主頁</h2> <p ref="title">{{ msg }}</p> <button @click="getDOM">點擊獲取DOM元素</button> <Banner ref="ban"></Banner> </div> </template> <script> import Banner from "../components/Banner"; export default { name: 'Home', components: { Banner }, data() { return { msg: "哇哈哈哈!" } }, methods: { getDOM() { // 通過 ref 屬性獲取子組件實例對象 console.log(this.$refs.ban); console.log(this.$refs.ban.num); } } } </script>
注:如果在組件上綁定 ref 屬性,那么獲取到的就是這個組件的實例對象。并且可以通過這個對象,使用子組件內的數(shù)據和方法,或傳遞參數(shù)。
總結
到此這篇關于Vue獲取子組件實例對象ref屬性的文章就介紹到這了,更多相關Vue獲取子組件實例對象內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Vue父子組件數(shù)據雙向綁定(父傳子、子傳父)及ref、$refs、is、:is的使用與區(qū)別
- vue3?setup中父組件通過Ref調用子組件的方法(實例代碼)
- 詳解Vue3?父組件調用子組件方法($refs?在setup()、<script?setup>?中使用)
- Vue3中使用setup通過ref獲取子組件的屬性
- vue ref如何獲取子組件屬性值
- vue 父組件通過$refs獲取子組件的值和方法詳解
- Vue通過ref父子組件拿值方法
- vue之父子組件間通信實例講解(props、$ref、$emit)
- vue 使用ref 讓父組件調用子組件的方法
- vue如何通過ref調用router-view子組件的方法
相關文章
Vue2 Element Schema Form 配置式生成表單的實現(xiàn)
本文主要介紹了Vue2 Element Schema Form 配置式生成表單的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05vue3+typescript實現(xiàn)圖片懶加載插件
這篇文章主要介紹了vue3+typescript實現(xiàn)圖片懶加載插件,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-10-10vue單頁面打包文件大?首次加載慢?nginx帶你飛,從7.5M到1.3M蛻變過程(推薦)
這篇文章主要介紹了vue單頁面打包文件大?首次加載慢?nginx帶你飛,從7.5M到1.3M蛻變過程,需要的朋友可以參考下2018-01-01vue elementui表格獲取某行數(shù)據(slot-scope和selection-change方法使用)
這篇文章主要介紹了vue elementui表格獲取某行數(shù)據(slot-scope和selection-change方法使用),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01Vue Element 分組+多選+可搜索Select選擇器實現(xiàn)示例
這篇文章主要介紹了Vue Element 分組+多選+可搜索Select選擇器實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07Vue.js使用$.ajax和vue-resource實現(xiàn)OAuth的注冊、登錄、注銷和API調用
這篇文章主要介紹了 Vue.js使用$.ajax和vue-resource實現(xiàn)OAuth的注冊、登錄、注銷和API調用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05