Итак, у меня есть состояние Vuex
, которое выглядит так:
state: {
keylist: ['key1', 'key2', 'key3'],
items: {
key1: {title: "First Item"},
key2: {title: "Second Item"},
key3: {title: "Third Item"}
}
}
И у меня есть компонент списка, на который ссылается root, например:
<event-list :list="this.$store.state.keylist"></event-list>
Компоненты определены так:
Vue.component('event-list', {
template: "<ul><li v-for='key in list'>{{ key }}</li></ul>",
props: {
list: {
type: Array,
required: true
}
}
})
Теперь все это прекрасно отображает ключ.
Но, конечно же, я действительно хочу использовать компонент для каждого элемента, найденный по его ключу. И вот где я застрял. У меня есть элемент элемента, например, так:
Vue.component('event-list-item', {
template: "<h4>{{ item.title }}</h4>",
props: {
item: {
type: Object,
required: true
}
}
})
Но я не могу понять, как перевести key
в родительском компоненте в item
в дочернем компоненте. Этот шаблон barfs на первой фигурной скобке:
<ul><li v-for='key in list'><event-list-item :item="this.$store.state.items.{{key}}"</li></ul>
И в любом случае это не выглядит как правильное решение! так что является правильным?