Vue: [Sugerencia] Vue 2.0 - vm. $ AppendTo - componentes singleton

Creado en 29 abr. 2016  ·  3Comentarios  ·  Fuente: vuejs/vue

Mi patrón singleton actual es Vue.extend el componente y llamar $appendTo(body) en compile en el primer require y devolver el vm en todos los demás .

Cuando se eliminen vm.$appendTo , necesitaré otra forma de crear componentes singleton.
Quizás algo como esto:

replace: false
el: => document.body

En vue-comps tengo actualmente 3 componentes singleton:

  • vue-comps-waves : tiene una tienda svg singleton oculta que sirve todas las instancias waves con las animaciones svg
  • vue-toster : la misma instancia debe ser compartida por todos los componentes que la usan
  • vue-overlay : una sola superposición para oscurecer el fondo que realiza un seguimiento del índice Z de todos los componentes que lo utilizan
discussion

Comentario más útil

Debe llamar a $mount() sin argumentos (lo que crea vm.$el ) antes de agregarlo, pero de lo contrario, sí, debería funcionar.

Todos 3 comentarios

No entiendo muy bien la necesidad de $appendTo() aquí; puede usar métodos DOM nativos en this.$el , ¿cuál es la diferencia?

Tal vez solo estoy confundido acerca de

adjunto en desuso, los componentes ya no tienen la posibilidad de estar fuera de dom

esto funcionara?

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

si es así, esto se puede cerrar ..

Debe llamar a $mount() sin argumentos (lo que crea vm.$el ) antes de agregarlo, pero de lo contrario, sí, debería funcionar.

¿Fue útil esta página
0 / 5 - 0 calificaciones