Vue.js中$refs{}如何獲取DOM元素
如果我們想獲取DOM元素,一般使用js中的document.querySelector來獲取這個dom節(jié)點,然后在獲取元素的值,現(xiàn)在Vue提供給我們一種更便捷的方式來獲取DOM元素-----$refs{}
$refs{}----獲取標簽元素
說明:一個對象,持有注冊過 ref attribute 的所有 DOM 元素和組件實例
作用:減少DOM操作
用法:
原生方法
此例是利用原生jsdocument.getElementById()獲取元素
<div id="app">
<input type="button" value="獲取元素" @click='btn'>
<h3 id="myh3">哈哈, 今天天氣不錯</h3>
</div>
<script>
var vm= new Vue({
el:'#app',
data:{},
methods: {
btn(){
console.log(document.getElementById('myh3').innerText);
}
}
})
console.log(vm);
</script>
效果如下:

我們將vm實例輸出,查看這個對象

vm.$refs方法獲取
1.給元素定義ref=",輸出vm實例
<h3 id="myh3" ref="myh3">哈哈, 今天天氣不錯</h3>

2.在實例的方法中輸出,
獲取元素方法如下:
console.log(this.$refs.myh3);
獲取內容方法如下:
console.log(this.$refs.myh3.innertext); //或者 console.log(this.$refs.myh3.innerHtml);

$refs{}----獲取Vue組件
查看vm實例:
<div id="app">
<input type="button" value="獲取元素" @click='btn'>
<login ref='mylogin'></login>
</div>
<script>
var login={
template:'<h1>登錄組件</h1>',
data() {
return {
msg:'son msg'
}
},
methods: {
show(){
console.log('調用了子組件的方法');
}
},
}
var vm= new Vue({
el:'#app',
data:{},
methods: {
btn(){
}
},
components:{
login
}
})
console.log(vm);
</script>

利用$refs獲取子組件的方法:
console.log(this.$refs.mylogin);

利用$refs獲取子組件內容的方法:
this.$refs.mylogin.show();

利用$refs獲取子組件中的data:
console.log(this.$refs.mylogin.msg);

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
前端vue+elementUI如何實現(xiàn)記住密碼功能
這篇文章主要給大家介紹了關于vue+elementUI如何實現(xiàn)記住密碼功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09

