У меня есть следующие настройки:Vue расслоение плотной v-за не зацикливание через свойства компонента
JS
var session = {
content : {
products : {
options : {
page : 1,
productsPerPage : 20,
orderBy : 'customPriority',
orderDirection : 'asc'
},
productList : [
{name: 'a'},
{name: 'b'},
{name: 'c'},
{name: 'd'},
]
}
}
}
Vue.component('product-list', {
props: {
options: { type: Object },
products : { type: Array, required: true }
}
})
var app = new Vue({
el: '#app',
data: session
})
HTML
<div id="app">
<product-list
:options="content.products.options"
:products="content.products.productList"
>
<div
v-for="product in products"
>
<h1>
{{product.name}}
</h1>
</div>
</product-list>
</div>
(jsFiddle: https://jsfiddle.net/Lfw94bgz/1/)
Моя проблема в том, что директива v-for, похоже, не работает, массив продуктов определен и отображается в vue-dev-инструментах, я построил this example, похоже, делает то же самое (итерация через массив, переданный в compent через prop).
Никакие ошибки/предупреждения в консоли, я не буду совсем потерялась, спасибо за вашу помощь
Прежде всего, спасибо, что вы сохранили мою задницу. Но я чувствую, что мой код тоже работал, я не понимаю, почему изменение способа передачи шаблона компоненту влияет на его поведение. –
Проверяя vuejs docs [здесь] (https://vuejs.org/guide/components.html#Single-Slot), он говорит, что вы можете ввести HTML-код таким образом, если вы ссылаетесь на ' ' внутри шаблона дочернего компонента , Но, честно говоря, поскольку нет необходимости в том, чтобы это было динамичным, я бы просто придерживался всего этого кода в шаблоне компонента –
dargue3