2016-05-01 4 views

ответ

9

Вы можете использовать директиву v-el, чтобы сохранить элемент, а затем использовать его позже.

https://vuejs.org/api/#vm-els

<div v-el:my-div></div> 
<!-- this.$els.myDiv ---> 

Edit: Это не рекомендуется в Vue 2 см 胡亚雄 ответ

+7

Это устарело, не используется в vuejs 2 – David

+0

Прочтите https://github.com/vuejs/vue/issues/2873 для получения более подробной информации о том, что устарело, а что нет – ytbryan

3

Если вы пытаетесь получить элемент, который вы можете использовать Vue.util.query, который действительно просто оберткой document.querySelector но при 14 символах против 22 символов (соответственно) это технически короче. Он также имеет некоторую обработку ошибок, если элемент, который вы ищете, не существует.

Существует нет официальной документации по Vue.util, но это весь источник функции:

function query(el) { 
    if (typeof el === 'string') { 
    var selector = el; 
    el = document.querySelector(el); 
    if (!el) { 
     ({}).NODE_ENV !== 'production' && warn('Cannot find element: ' + selector); 
    } 
    } 
    return el; 
} 

Repo ссылка: Vue.util.query

30

Там нет стенографии способа вю 2.

Метод Джеффа уже устарел в vue 2.

Heres другой способ u может достичь вашей цели.

<div id="myDiv" ref="myDiv"> 
</div> 

methods: { 

    showMyDiv() { 
     console.log(this.$refs.myDiv); 
    } 
} 
+1

Это замечательно! Спасибо. – ITWitch

+0

это должно быть принято ответ! –

2

вы можете найти ответ на свой вопрос в комбинации этих двух страниц в API:

исх используется для регистрации ссылка на элемент или ребенка . Ссылка будет зарегистрирована под родительским объектом $ refs компонента . При использовании на простом DOM элемента, то ссылка будет что элемент

Объект, который содержит дочерние элементы, которые исх зарегистрированы.

0

Старайтесь не делать манипуляции DOM со ссылкой на DOM напрямую, она будет иметь много проблем с производительностью, а также обработка событий становится более сложной, когда мы пытаемся получить доступ к DOM напрямую, вместо того, чтобы использовать данные и директивы для манипулирования DOM.

Это даст вам больше контроля над манипуляциями, также вы сможете управлять функциональными возможностями в модульном формате.

Смежные вопросы