vue获取页面元素,vue获取地址栏
vue 的点击事件怎么获取当前点击的元素
一、首先,在编辑器中创建一个web项目,并在目录中创建一个新的静态页面buttonclick.html:
二、然后在title标签中介绍准备好的vue.js库文件。在这里,将JS文件放在JS目录中,然后在body标记中插入一个div和四个按钮,将click事件与Vue中的v-on标记绑定:
三、接下来,插入脚本标记,在标记中写入事件函数,在事件中传递参数,然后打开浏览器查看结果:
四、打开浏览器并单击其中一个按钮以打开窗口返回的元素对象。以上是如何使用Vue获取click事件元素:

vue怎么获取另一个vue中的元素
可以通过这样的方法来获取的,具体如下:
v-for=(item,index)in 需要循环的列表对象就可以达到目的了,而在括号里面的参数item是循环的每一个元素,index参数是循环的次数或者是下标的,item可以是一个简单数据类型,也可以是一个复杂的复合类型。
vue 怎么获取元素
在 vue 中用 document 获取 dom 节点进行节点样式更改的时候有可能会出现 'style' is not definde的错误,
这时候可以在 mounted 里用 $refs 来获取样式,并进行更改:
template
div style="display: block;" ref="abc"
!-- ... --
/div
/template
script
export default {
mounted () {
console.log(this.$refs.abc.style.cssText)
}
}
/script
结果是 display: block;
如果我们给一个div设定全屏背景图,就需要获取屏幕高度进行赋值:
template
div ref="nana"
!-- ... --
/div
/template
scriptexport default {
mounted () {
let w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
let h = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
this.$refs.nana.style.height = h +'px';
}
}
vue 获取元素高度
div ref="elememt" /div
//获取高度值
var height= this.$refs.text.offsetHeight; //100
//获取元素样式值,element 为元素ref="element"
var heightCss = window.getComputedStyle(this.$refs.element).height; // 100px
//获取元素内联样式值
var heightStyle =this.$refs.element.style.height; // 100px/pre
vue获取页面内元素
页面里被查找的元素添加一个 ref='refrence'? 这里refrencce可以随便起名字,下面引用这个名字
然后要获取这个元素就用this.$refs.refrence
同样,组件添加到页面里的内容也可以通过添加ref标签来获组件里内容
比如获取元素高度
this.$refs.element.offsetHeight?
比如:改变元素的高? ?那么这个height必须要在这个div写样式的时候就已经有了,否则无法获取到
.vue组件中获取DOM元素问题
一、问题引入
原项目把一块内容直接写在了模块中(浏览器显示的一整个页面),现在想把它提成一个单独组件,而且把其中使用 document.getElementById('id') 改为 ref 获取元素的形式。
单独创建一个 .vue 组件,通过绑定传值,触发页面变化从而触发 beforeUpdate 。
然后发现 beforeUpdate() 中根本获取不到此元素,用原生js获取也不行。
三、解决
1、 beforeUpdate() 生命周期函数中,在获取元素语句外套用 this.$nextTick(function(){...}) 。( mounted 无效,原因待查明)
官方解释:将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。即DOM真正加载完成。