Vue: [Предложение] Vue 2.0 - vm. $ AppendTo - одноэлементные компоненты

Созданный на 29 апр. 2016  ·  3Комментарии  ·  Источник: vuejs/vue

Мой текущий шаблон синглтона - это Vue.extend компонент и вызов $appendTo(body) для compile для первого require и возврат vm для всех остальных .

Когда vm.$appendTo будет удален, мне понадобится другой способ создания одноэлементных компонентов.
Может быть, примерно так:

replace: false
el: => document.body

В vue-comps у меня в настоящее время есть 3 одноэлементных компонента:

  • vue-comps-waves - имеет скрытое хранилище singleton svg, которое обслуживает все экземпляры waves с анимацией svg
  • vue-toster - один и тот же экземпляр должен использоваться всеми компонентами, которые его используют
  • vue-overlay - один оверлей для затемнения фона, который отслеживает z-index всех компонентов, которые его используют
discussion

Самый полезный комментарий

Вам нужно вызвать $mount() без аргументов (что создает vm.$el ) перед его добавлением, но в противном случае да, это должно работать.

Все 3 Комментарий

Я не совсем понимаю необходимость $appendTo() здесь - вы можете просто использовать собственные методы DOM для this.$el , в чем разница?

Может я просто запуталась

прикреплено не рекомендуется, компоненты больше не могут быть отключены

Это сработает?

Comp = Vue.extend(someComp)
vm = new Comp() # vm is off-dom here ?
document.body.appendChild(vm.$el)

если да, то это можно закрыть ..

Вам нужно вызвать $mount() без аргументов (что создает vm.$el ) перед его добавлением, но в противном случае да, это должно работать.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги