vue怎么获取dom元素

如题所述

    在vue中可以通过给标签加ref属性,就可以在js中利用ref去引用它,从而操作该dom元素。

    以下是个例子:

    Vue系列产品为3D自然环境的动画制作和渲染提供了一系列的解决方案。Vue系列有很多不同的产品,这是为了满足不同阶层的用户的需要:可以满足专业的制作工作室,同样也能满足3D自由艺术家。

    参与项目:

    《阿凡达》《2012》《赤壁》《斯巴达克斯》《死不瞑目》《尸城30夜》《功夫熊猫》《异形大战铁血战士》《微光城市》《神奇四侠》《致命拜访》《冒牌天神》《与王一夜》《老友与钱》《加勒比海盗》《ALAUID》《假结婚》《特种部队》《失落的大陆》《终结者》《坠入地狱》《Dragonball Evolution》《女同志吸血鬼杀手》《爱丽丝梦游仙境》《诸神之战》《驯龙记》《狼人》《闰年》《可爱的骨头》《魔法奇幻秀》《美少女特工队》《吉诺密欧与朱丽叶》《纳尼亚传奇》《猫头鹰王国》《歪小子斯科特》《卑鄙的我》《最后的风之子》《怪物史瑞克》《波斯王子》《饥饿游戏》《地心历险记》《雨果》《亚瑟圣诞》《丁丁历险记》《惊天战神》《超级8》《雷神》《大战外星人》《本杰明·巴顿奇事》《马达加斯加》《澳洲乱世情》《空中杀手》《夺宝奇兵》《奇幻精灵事件簿》

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-28
在 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>

<script>export 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';
}
}本回答被提问者采纳
相似回答