Всем привет!
Нужен совет и помощь.
Есть разметка:
<nav id="navbar">
<navigation></navigation>
<p>Hello, World!</p>
<other-components></other-components>
</nav>
Собираю компоненты:
Vue.component('navigation', {
props: ['val'],
data() {
return {
navlist: [
{ id: 'name-1', name: 'linkName-1'},
{ id: 'name-2', name: 'linkName-2'},
{ id: 'name-3', name: 'linkName-3'},
{ id: 'name-4', name:' linkName-4'},
{ id: 'name-5', name: 'linkName-5'}
]
}
},
template: `
<template v-for="val in navList" :key="val.id" :val="val">
<ul>
<li>
<a :href=val.id :title=val.name>{{ val.name }}</a>
</li>
</ul>
</template>`
})
new Vue({ el: '#navbar' })
Несколько вопросов:
1. всегда ли нужно регистрировать new Vue, даже если инстанс уже задан в разметке?
2. в документации, vue.component может содержать шаблон, но не содержит data, следовательно, мой пример выше не верен и нужно перенести data() в vue-экземпляр? Но если я перенесу, обычная разметка
<p>Hello, World!</p>
пропадает.
3. подскажите, как тогда правильно записать структуру компонентов и экземпляра, чтобы все сработало?