lavezzi1
@lavezzi1

Как общаться данным между layout и page?

Есть vue, есть vue-router. Для общих частей приложения есть layouts, где есть шапка, навигация и контент, в контент через router-view подгружаются страницы. Все по красоте.

Когда в шапке информация одна и та же, я в layout'e тяну данные и отображаю ее там, а контент живет отдельно, то есть при переходе между страницами шапка остается та же, а вот страница подгружает уже свои данные. Но тут могут понадобиться данные с layout'a на самой странице, поэтому я данные в layout подгружаю, но кладу не в data, а в vuex.

Но вопрос в том, что в некоторых частях приложения, у меня тоже есть шапка с данными и страница в контенте, но так как страница одна, то не хочется использовать vuex для этого. А лазать в layout из страницы на уровень вверх – не хочется. Как можно по-простому складывать данные в общее место?
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
FLUNKEY
@FLUNKEY
самовар
Как альтернативу vuex в данном случае могу предложить использовать глобальные примеси.

В пример:
//mixin
var myMixin = {
  data() {
    return {
      test: 'hello world'
    }
  }
}

new Vue({
  mixins: [ myMixin ],
  //..
});


//где-то в компоненте
this.$root.test;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы