numaralı satır içi şablonlarıyla, her sayfa için çok sayıda farklı bileşenin iç içe geçmiş olmasını sağlayacağım. Uygulamamdaki her sayfa için bir bileşen görünümüm var. Her sayfada, kaydırıcı, tabber, karusel, vb. Gibi bileşenleri yeniden kullanacak farklı Vue örnekleri vardır.Vuejs iç içe geçmiş bileşenleri,
Bir çok Vue örneğinin birbirine müdahale ettiğinden, bunu yeniden yapılandırmaya çalışıyorum. ve fark ettim ki, çok fazla iç bileşeni olan tek bir ana Vue örneğim olmalı.
Bu defa kurdunuz budur:
sorundur ev görünümü bileşenini yükledikten sonra durur olmasıdır. Benim yapmak istemediğim bir şablon yoksa, iç içe geçmiş bileşenler yüklenmeyecek çünkü Laravel blade sözdiziminden yararlanmak ve normal HTML kullanmamak istiyorum. Artı benim sunucu tarafı yardımcıları tüm vs.
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>
Bunu overthinking, ancak herhangi bir yardım/fikirler için teşekkür ederiz olabilir!
Bu bileşen satır içi şablonu tanımlama yerine, ebeveyn ve çocuk şablonları birleşiyor ne yaptığını düşünüyorum. David haklı. – jasonszhao