$mount
Mit dieser Option können Sie die Vue-Instanz bei Bedarf explizit bereitstellen. Dies bedeutet, dass Sie das Mounten Ihrer vue
Instanz verzögern können, bis ein bestimmtes Element auf Ihrer Seite vorhanden ist oder ein asynchroner Prozess abgeschlossen ist. Dies kann besonders nützlich sein, wenn Sie älteren Apps, die Elemente in das DOM einfügen, Vue hinzufügen. Ich habe dies auch verwendet häufig beim Testen ( siehe hier ), wenn ich dieselbe vue-Instanz für mehrere Tests verwenden wollte:
// 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)
Hier ist die JSFiddle: https://jsfiddle.net/79206osr/
new
Schlüsselwort verwendet werden. . $ mount zeigt diese Warnung nicht an.In dem Beispiel, das Sie zur Verfügung stellen, glaube ich nicht, dass es wirklich einen großen Unterschied oder Nutzen gibt. In anderen Situationen kann es jedoch einen Vorteil geben. (Ich habe noch nie Situationen wie die folgenden erlebt).
Mit haben
$mount()
Sie mehr Flexibilität, auf welchem Element es montiert wird, wenn dies jemals notwendig sein sollte.Wenn Sie aus irgendeinem Grund die Instanz instanziieren müssen, bevor Sie tatsächlich wissen, auf welchem Element sie bereitgestellt wird (möglicherweise ein Element, das dynamisch erstellt wird), können Sie sie später mithilfe von bereitstellen
vm.$mount()
Etwas wie...
quelle
Die beste Antwort ist gut genug. Ich habe hier nur einen Kommentar hinterlassen, da ich nicht genug Reputationspunkte habe. Alternativley:
quelle