v-Если на теге шаблона компонента
Из документов:
Поскольку v-if является директивой, она должна быть присоединена к одному элемент. Но что делать, если мы хотим переключить более одного элемента? В этом случай мы можем использовать v-if на элементе, который служит в качестве невидимая обертка. Конечный результат визуализации не будет включать в себя элемент.
Но на моем шаблоне в моем компоненте:
<template v-if="false">
<div>
....
</div>
</template>
Но компонент все равно отрисовывается.
Я спрашиваю, потому что мне нужен крюк на компоненте, так что если v-if истинно, я могу сделать некоторый код в beforeMounted
и beforeDestroyed
если ложно.

Ответы - v-Если на теге шаблона компонента / v-if on a component template tag

23.11.2017 11:54:03
Если я не понял, что ты делаешь...
Вы ставите v-if int в тег шаблона ina .vue
файл правильно?
Подобный этому
// component.vue
<template v-if="false">
<div>
My Component
</div>
</template>
<script>
export default {
name: 'my-component'
};
</script>
<styles>
</styles>
Так ведь?
Если да, то вы делаете это неправильно.
В шаблоне есть тег для webpack Vue Loader для загрузки шаблона компонента.
Так if
должен идти внутри тега шаблона.
// component.vue
<template>
<div v-if="false">
My Component
</div>
</template>
<script>
export default {
name: 'my-component'
};
</script>
<styles>
</styles>
Если вам нужно "спрятать" несколько элементов, просто инкапсулируйте их в другой div
.