$mount
le permite montar explícitamente la instancia de Vue cuando lo necesite. Esto significa que puede retrasar el montaje de su vue
instancia hasta que exista un elemento en particular en su página o hasta que haya finalizado algún proceso asíncrono, lo que puede ser particularmente útil al agregar vue a aplicaciones heredadas que inyectan elementos en el DOM, también he usado esto con frecuencia en las pruebas ( ver aquí ) cuando quería usar la misma instancia de vue en varias pruebas:
// 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)
Aquí está el JSFiddle: https://jsfiddle.net/79206osr/
new
palabra clave. . $ mount no muestra esta advertencia.En el ejemplo que proporciona, no creo que haya mucha diferencia o beneficio. Sin embargo, en otras situaciones puede haber un beneficio. (Nunca me he encontrado con situaciones como las siguientes).
Con
$mount()
usted tiene más flexibilidad sobre el elemento en el que se montará si fuera necesario.De manera similar, si por alguna razón necesita crear una instancia de la instancia antes de saber realmente en qué elemento se montará (tal vez un elemento que se crea dinámicamente), entonces puede montarlo más tarde usando
vm.$mount()
Algo como...
fuente
La respuesta principal es lo suficientemente buena. acabo de dejar un comentario aquí porque no tengo suficientes puntos de reputación. Alternativamente:
fuente