У меня есть 2 компонента:Вью ребенок компонент не оказывающего
Vue.component('page', {
props: ['pages'],
template: '<li>{{ pages.title }}</li>'
})
Vue.component('block', {
props: ['blocks'],
template: '<div>{{ blocks.id }}</div>'
})
«Страница» является компонентом Родитель, и «Блок» ребенок компонент.
Оба компонента содержит цикл через массив:
<page v-for="page in pages" v-bind:pages="page">
<block v-for="block in blocks" v-bind:blocks="block"></block>
</page>
Компонент «Блок» не визуализируемый на всех, в то время, когда он помещен вне «страницы» компонента родительской. Я чувствую, что мне не хватает чего-то очевидного, но что это?
Я боюсь, что это не работает. Я получаю «Неизвестный пользовательский элемент:». Я также чувствую, что это решение не совсем правильно, я хотел бы сохранить как отдельные компоненты, если это вообще возможно. –
Они все еще являются отдельными компонентами, единственное отличие состоит в том, что блок теперь зарегистрирован локально. Если вы предпочитаете сохранить то, что у вас есть, то вам следует изменить способ использования страниц и блоков. То, что находится между тегами, будет заменено на то, что вы определили в атрибуте шаблона, поэтому ваш компонент блока никогда не будет отображаться. Вы должны изменить шаблон страницы, чтобы использовать компонент блока в нем. –
Nora
Я нашел этот JSBin: https://jsbin.com/boluhe/3/edit?html,js,output Это делает то, что я хочу, без циклов. Возможно ли это только при использовании статических компонентов? –