как компонент может удалить себя в Vue 2.0

как название, как я могу сделать это

из официальной документации просто скажите нам, что $delete может использовать аргумент 'object'и ' key'

но я хочу удалить компонент сам по себе, как это

this.$delete(this)

2 ответов


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

Ref:https://vuejs.org/v2/api/#v-if

цитата из документов:

условно визуализировать элемент на основе истинности значения выражения. Элемент и содержащиеся в нем директивы / компоненты разрушаются и перестраиваются в ходе коленчатый рычаг.

Если дочерний компонент создается как часть некоторого объекта данных на parent, вам придется отправить событие parent через $emit, измените (или удалите) данные, и дочерний компонент исчезнет сам по себе. Недавно был еще один вопрос по этому поводу: удалить дочерний компонент Vue


вместо удаления вашего компонента из родительского вы все еще можете использовать v-if первый <div> тег из самого компонента. Это оставит пустой компонент на Вашей странице, и это не лучшая практика, но может избежать обработки событий от родителя.