$mount
vous permet de monter explicitement l'instance Vue lorsque vous en avez besoin. Cela signifie que vous pouvez retarder le montage de votre instance Vue. vue
jusqu'à ce qu'un élément particulier existe dans votre page ou qu'un processus asynchrone soit terminé, ce qui peut être particulièrement utile lorsque l'on ajoute Vue à des applications existantes qui injectent des éléments dans le DOM. J'ai également utilisé cette fonction fréquemment dans les tests ( Voir ici ) lorsque j'ai voulu utiliser la même instance Vue dans plusieurs tests :
// Create the vue instance but don't mount it
const vm = new Vue({
template: '<div>I\'m mounted</div>',
created(){
console.log('Created');
},
mounted(){
console.log('Mounted');
}
});
// Some async task that creates a new element on the page which we can mount our instance to.
setTimeout(() => {
// Inject Div into DOM
var div = document.createElement('div');
div.id = 'async-div';
document.body.appendChild(div);
vm.$mount('#async-div');
},1000)
Voici le JSFiddle : https://jsfiddle.net/79206osr/