Vue: [Suggestion] Vue 2.0 - vm.$appendTo - composants singleton

Créé le 29 avr. 2016  ·  3Commentaires  ·  Source: vuejs/vue

Mon modèle de singleton actuel consiste à Vue.extend le composant et à appeler $appendTo(body) sur compile sur le premier require et à renvoyer le vm sur tous les autres .

Lorsque vm.$appendTo seront supprimés, j'aurai besoin d'un autre moyen de créer des composants singleton.
Peut-être quelque chose comme ça :

replace: false
el: => document.body

Dans vue-comps, j'ai actuellement 3 composants singleton :

  • vue-comps-waves - a un magasin svg singleton caché qui sert toutes les instances waves avec les animations svg
  • vue-toster - la même instance doit être partagée par tous les composants qui l'utilisent
  • vue-overlay - une seule superposition pour noircir l'arrière-plan qui garde une trace du z-index de tous les composants qui l'utilisent
discussion

Commentaire le plus utile

Vous devez appeler $mount() sans arguments (ce qui crée vm.$el ) avant de l'ajouter, mais sinon, oui, cela devrait fonctionner.

Tous les 3 commentaires

Je ne comprends pas très bien la nécessité de $appendTo() ici - vous pouvez simplement utiliser des méthodes DOM natives sur this.$el , quelle est la différence ?

Peut-être que je suis juste confus au sujet

attaché obsolète, les composants n'ont plus la possibilité d'être hors dom

Est-ce que ça va marcher?

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

si c'est le cas, cela peut être fermé..

Vous devez appeler $mount() sans arguments (ce qui crée vm.$el ) avant de l'ajouter, mais sinon, oui, cela devrait fonctionner.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

hiendv picture hiendv  ·  3Commentaires

bfis picture bfis  ·  3Commentaires

guan6 picture guan6  ·  3Commentaires

aviggngyv picture aviggngyv  ·  3Commentaires

bdedardel picture bdedardel  ·  3Commentaires