@be_a_man

Vue.js как передать JSON приложению, чтобы он был доступен в дочерних?

Получаю данные с сервера, приложение на Vue встраивается в html страницу.
В зависимости от данных создаю нужное количество экземпляров vue.

JSON
{
    "config": [{
            "selector": ".first",
             // .....................
        },
        {
            "selector": ".second",
            // .....................
        }
    ]
}


JS примерно такой + разные проверки
Как использовать appConfig в дочерних компонентах?
let xhr = new XMLHttpRequest();

// ..........

xhr.onreadystatechange = function() {
    if (xhr.status === 200) {
        const dataConfig = JSON.parse(xhr.responseText);

        // ...................

        if (dataConfig.config.length > 1) {

            for (let i = 0; i < dataConfig.config.length; i++) {
                const object = dataConfig[i];

                // .....................

                new Vue({
                    el: object.selector,
                    data: {
                       appConfig: object
                    },
                    render: h => h(App)
                })

            }

        }
    }
}
  • Вопрос задан
  • 421 просмотр
Пригласить эксперта
Ответы на вопрос 1
@be_a_man Автор вопроса
Если кому понадобится, решил через vuex. На каждом цикле создаю свой экземпляр класса Vuex и в create у класса Vue кладу нужную инфу в state Vuex

for (let i = 0; i < dataConfig.config.length; i++) {
    const object = dataConfig[i];

   let store = new Vuex.Store({
        state: {},
        mutations: {},
        actions: {}
    })

    new Vue({
        el: object.selector,
        store,
        created() {
            this.$store.state.appConfig = object;
        },
        render: h => h(App)
    })

}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы