Finirò per avere un sacco di diversi componenti annidati per ogni pagina. Ho una vista componente per ogni pagina nella mia applicazione. In ogni pagina ci sono diverse istanze di Vue che riutilizzeranno i componenti che ho fatto come slider, tabber, carosello, ecc.Componenti nested di Vuejs con modello in linea
Sto provando a ristrutturare questo poiché molte istanze di Vue interferivano tra loro e ho capito che avrei dovuto avere solo un'istanza Vue principale con molti componenti interni.
Questo è quello che ho creato finora:
Il problema è è che si ferma dopo aver caricato il componente di visualizzazione a casa. Non caricherà alcun componente annidato a meno che non abbia un modello impostato per loro che non voglio fare perché voglio approfittare della sintassi della lama di Laravel e non usare il normale HTML. Inoltre tutti i miei aiutanti lato server, ecc
Javascript:
var App = new Vue({
el: '#app',
attached: function() {
console.log('main app loaded');
},
components: {
'home-view': {
attached: function() {
console.log('home view loaded');
},
components: {
'home-slider': {
attached: function() {
console.log('homepage slider loaded');
},
components: {
'slider': {
template: '#slider-template',
replace: true,
attached: function() {
console.log('general slider component loaded');
},
components: {
'slide': {
template: '#slide-template',
replace: true,
props: ['index', 'text'],
attached: function() {
console.log('general slide component loaded');
}
}
}
}
}
}
}
}
}
});
HTML:
<script type="x-template" id="slider-template">
<div class="slider">
<content></content>
</div>
</script>
<script type="x-template" id="slide-template">
<div class="slide" id="slide{{ index }}">
{{ text }}
</div>
</script>
<div id="app">
<component is="home-view">
<div id="slideshow" v-component="slider" inline-template>
<slider>
<slide index="1" text="Slide #1"></slide>
<slide index="2" text="Slide #2"></slide>
</slider>
</div>
<p>More content specific to the homepage here.</p>
</component>
</div>
Potrei essere overthinking questo, ma vi ringrazio per tutto l'aiuto/idee!
Credo che quello che sta facendo è questo che definisce il modello di linea componente, piuttosto che la fusione dei modelli di padre e figlio. David ha ragione. – jasonszhao