使用 ref 获取 DOM 元素和组件引用|学习笔记

简介: 快速学习使用 ref 获取 DOM 元素和组件引用

开发者学堂课程【Vue.js 入门与实战使用 ref 获取 DOM 元素和组件引用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8189


使用 ref 获取 DOM 元素和组件引用


本节主要学习,vue 内能否获取 DOM 内的元素和组件,首先先使用如下代码:

哈哈哈,今天天气太好了!!!

var vm= new Vue({

el:’#app’,

Date:{}

methods:{

getElement (){

console.log(document.getElementById ( 'myh3 ' ) .innerText)}

右键执行浏览,可以正常显示,且无报错:

1666936676152.jpg

但是上面的代码,其实在无形之中操作了 DOM ,在 vue 中不推荐,所以需要使用 vue 提供的 ref 功能,此时代码可以改变成如下:

哈哈哈,今天天气太好了!!!

var vm= new Vue({

el:’#app’,

Date:{}

methods:{

getElement (){

console.log(document.getElementById ( 'myh3 ' ) .innerText)}

此时刷新浏览,展开看到执行结果:

1666936691376.jpg

通过 vm 拿到 myh3,在 vm 里面添加

console. log (this. $refs.myh3.innerText)

这时

console.log(document.getElementById ( 'myh3 ' ) .innerText)注释掉

ref是英文单词reference

值类型  引用类型 referenceError引用错误

在 h3 上,ref 没有带 s 的原因在于 h3 是一个标签,在input里面添加一个 rdf =“ mybth ”,如果把 myh3 这个元素,包起来就直接使用 ref 

接下来学习 ref 如何获取组件,代码如下

var login = {

template: '

登录组件

'}

var vm= new Vue({

el:’#app’,

Date:{}

 methods:{

},

Components:{

Login

}

此时执行结果可以看到,登录组件已经显示:

1666936706630.jpg

之前是直接用 ref 引用了 DOM 元素,下面探究主键能不能有自己的方法:

代码:

data(){

return {

msg: 'son msg'}

},

methods: {

show(){

console.log('调用了子组件的方法')}

主键内部通过 this 访问到了, data  show ,当出发到对象的时候。在 getElemnetById 添加

console. 1og (this.$refs.mylogin.msg)

此时网页显示:

1666936717446.jpg

同时也可以有自己的访问方法:

 getElemnetById 里面添加这个

this.$refs.mylogin.show()

保存到后在到网页里面观察。(图片如下:)

1666936736061.jpg

相关文章
|
3月前
|
JavaScript 前端开发 容器
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
|
3月前
|
存储 JavaScript 前端开发
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
|
25天前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
25天前
|
JavaScript 前端开发
|
2月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
66 4
|
25天前
|
JavaScript 前端开发 API
|
2月前
|
JavaScript
在Vue中获取DOM元素的实际宽高
【10月更文挑战第2天】
276 1
|
3月前
|
JavaScript 前端开发
JavaScript HTML DOM 元素 (节点)
JavaScript HTML DOM 元素 (节点)
28 2
|
2月前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
34 0
|
3月前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
117 0