@Saint739

Как передать объект во все компоненты (глобальная видимость)?

Для понятия сути вопроса создал песочницу.
Как сделать чтобы объект "client" из main.js стал виден в компоненте App.vue , её потомках и других файлах js
https://codesandbox.io/s/vue-template-qmdr7
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
Fzero0
@Fzero0
Вечный студент
const createClient = XMPP.createClient({
  jid: "u1@example.com",
  password: "1",
  transport: "websocket",
  wsURL: "ws://example.com/xmpp-websocket"
});
Vue.prototype.$createClient = createClient;

export default {
  name: "App",
  created: function() {
    console.log(this.$createClient)
  }
};
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@aylo
вариант 1 (правильно): в методе Mounted() сделать запрос
export default {
    data() {
        return {
            client: {},
        }
    },
    mounted() {
        var client = XMPP.createClient({
            jid: "u1@example.com",
            password: "1",
            transport: "websocket",
            wsURL: "ws://example.com/xmpp-websocket"
        });

        this.client  = client 
    }
};


вариант 2 (не совсем правильно): https://codesandbox.io/s/vue-template-ey7rv
Ответ написан
Ваш ответ на вопрос

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

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