Как получить динамически измененный массив из одного компонента в другой компонент в VUE js - PullRequest
0 голосов
/ 31 мая 2018

У меня проблема с получением данных из компонента «Overview.vue» и отображением в компоненте «TopNavbar.vue»

У пользователя есть разделы, и некоторые из них можно добавить, например, «Избранное».на рисунке ниже.

В компоненте «Обзор» у меня есть метод, который помещает объекты в массив, этот массив сохраняется в data.user - объект.

data () {
  return {
      user:{
       ..........................objects-objects
      'userConf': [],
      'email': 'Benno.Jaborek@abprod.dvag.de',
      'status': 'OK'
    },
  }
},
methods: {
  addToFavorites: function (event) {
    event.preventDefault()
    var getHref = event.target.parentElement.parentElement.href
    var getName = event.target.parentElement.children[1].innerText
    var isExist = (this.user.userConf).some(function (el) {
      return el.name === getName
    })
    if (!isExist) {
      this.user.userConf.push({name: getName, link: getHref})
    }
    console.log(this.user.userConf)
  },

Когда я перебираю userConfВ массиве я вижу изменения в этом компоненте, но когда я пытаюсь вычислить / просмотреть из компонента 'TopNavbar', данные не изменятся.

<li v-for="fav in this.getAddedFavorites">
    <a :href="fav.link">
      {{ fav.name }}
    </a>
 </li>

<script>

  import Overview from 'src/components/Dashboard/Views/Dashboard/Overview.vue'
  export default {
    components: {
      Overview
    },
    data () {
      return {
        getAddedFavorites: Overview.data().user.userConf,
        activeNotifications: false
      }
    },
    computed: {
      getEl: function () {
        console.log(this.getAddedFavorites)
        // shows empty Array
      }
    },

vue-dashboard

Буду рад, если кто-нибудь сможет мне помочь, потому что я борюсь с этой проблемой уже второй день:)

...