Добрый день
Есть страницы view - FirstPage.vue, SecondPage.vue
Страница входа пользователей FirstPage.vue. Т.е. все данные получаю сразу.
Есть App.vue на которую подключены остальные страницы через
<router-view/>
На странице FirstPage.vue я получаю параметры по API
Далее хочу передавать их на App.vue для выведения в шапке на остальных страницах типа FirstPage.vue, SecondPage.vue, ThirdPage.vue, etc.
Остальные страницы тоже работают с разными API и отображают свои данные.
Но есть общие днанные которые можно бы получать сразу с FirstPage.vue и не перезапрашивать их на каждой странице каждый раз.
Единственный общий компонент используемый на всех страницах это Sidebar.vue
Поэтому пробовал передавать через props, но возвращает ошибку
Ошибка
Uncaught TypeError: Cannot read properties of undefined (reading 'company_name')
at Proxy.render (App.vue?91a0:8:1)
at renderComponentRoot (runtime-core.esm-bundler.js?d2dd:896:1)
at ReactiveEffect.componentUpdateFn [as fn] (runtime-core.esm-bundler.js?d2dd:5575:1)
at ReactiveEffect.run (reactivity.esm-bundler.js?89dc:185:1)
at instance.update (runtime-core.esm-bundler.js?d2dd:5689:1)
at setupRenderEffect (runtime-core.esm-bundler.js?d2dd:5703:1)
at mountComponent (runtime-core.esm-bundler.js?d2dd:5485:1)
at processComponent (runtime-core.esm-bundler.js?d2dd:5443:1)
at patch (runtime-core.esm-bundler.js?d2dd:5033:1)
at render (runtime-core.esm-bundler.js?d2dd:6204:1)
На странице FirstPage.vue
export default {
data() {
return {
req: {company_name: 'Рога и копыта'},
}
},
На странице
App.vue
<sidebar :req=req />
<div class="title">Название должно вылезти тут - {{req.company_name}}</div>
<script>
import Sidebar from "@/components/Sidebar";
export default {
props: ["req"],
components: {
Sidebar
},
}
</script>