Как получить элемент DOM в VUE 2? - PullRequest
0 голосов
/ 18 ноября 2018

В Vue2 у меня есть html в шаблоне, подобном этому

...
 <td :style="getStyle" v-for="a in d"></td>
...

и метод getStyle

getStyle : function() {
    var el = ... ? // how do I get the native TD dom element?
}

как мне получить текущий родной элемент TD dom?

Спасибо

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

У меня такое чувство, что вы делаете это неправильно.Vue контролирует данные и отображает ваш DOM.Он не должен пытаться извлечь данные из DOM, так как он уже контролирует все данные.

Если вы можете получить необходимую информацию из текущей a из d, вы можетепередать его в вашу функцию getStyle:

<td :style="getStyle(a)" v-for="a in d"></td>

и обработать его в getStyle:

getStyle : function(a) {
  if (a.x === 'anything') { // the checks you need to perform...
     // calculate the style
  }
}
0 голосов
/ 18 ноября 2018

Use vue ref construct:

<td :style="getStyle" ref="myElm" v-for="a in d"></td>


render() {
    console.log(this.$refs.myElm)     
}

Если ref используется с v-for, то myElm будет Array.Кроме того, он не $refs не является реактивным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...