Im Voraus weiß ich, dass dies nicht die Frage ist, die Sie stellen, aber ich weiß nicht, warum Sie zwei Instanzen von Vue benötigen. Warum binden Sie Vue nicht einfach an die body
und behandeln beide Vue-Instanzen als Komponenten. Es könnte schwierig sein, das zu tun, was Sie versuchen, weil es nicht beabsichtigt war. Vielleicht war es das, ich weiß es nicht. Ich habe Vue auf den Körper eingestellt und ich habe keinen Performance-Hit gesehen. Hier ist ein JSBin.
HTML
<div class="container">
<div id="app1">
<h1>{{ msg }}</h1>
<input type="text" v-model="msg" class="form-control"/>
</div>
<div id="app2">
<h1>{{ msg }}</h1>
<input type="text" v-model="msg" class="form-control"/>
</div>
</div>
JavaScript
var VueComponent1 = Vue.extend({
template: '#app1',
data: function(){
return {
msg: ""
}
}
});
var VueComponent2 = Vue.extend({
template: '#app2',
data: function(){
return {
msg: ""
}
}
});
var app1 = Vue.component('app1', VueComponent1);
var app2 = Vue.component('app2', VueComponent2);
var app = new Vue({
el: 'body',
data: { msg: 'Everybody loves Vue.' }
});
Wenn Sie nach einem besseren Weg suchen Sie Code zu trennen, könnte man diese Vue with Browserify example prüfen wollen.
Laracasts has a free series auf Vue, die auch ziemlich informativ war.