在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 通過ref 給dom設置高度不起作用?

vue 通過ref 給dom設置高度不起作用?

<el-col :span="7" ref="wrap"><div></div></el-col>

mounted () {
    let height =document.body.clientHeight
    console.log(height)
    console.log(this.$refs.wrap)
    // this.$refs.wrap.style.height = height
  }

圖片描述

輸出的this.$refs.wrap,并不是一個dom,不知是哪里出了問題?

回答
編輯回答
祉小皓

$refs.wrap 拿到的是一個VUE組件,并不是一個DOM。
如果想要手動操作DOM,在組件內給節(jié)點一個ID,比如el-col上給一個ID,然后用this.$el.querySelector(#ID)拿到來進行操作。

2017年3月12日 18:53
編輯回答
我不懂

拿到的是組件, ref 加載具體的 DOM 元素上

2018年3月28日 12:18
編輯回答
風畔

這里是使用錯誤。
ref有兩種情況:
第一,如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素。
第二,如果用在子組件上,引用就指向組件實例。

你這種情況,就是第二種,應用在組件上,那么如果想要獲取dom,需要使用

this.$refs.wrap.$el

來獲取組建的跟容器dom節(jié)點,然后設置樣式。

當然如果你想設置slot里面的元素,那么在拿到 根容器dom節(jié)點后,就可以通過正常的querySelector等方法獲取你想要的任何dom節(jié)點了

如果還有問題,歡迎再次討論。

2017年5月27日 01:36