Добавьте плагины (Vue .use) после монтирования экземпляра (новый Vue (). $ Mount ()) - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть несколько vue плагинов, таких как аналитика, sentry et c. которые требуют настройки данных с сервера для настройки.

Я должен сделать запрос на настройку, затем выполнить Vue.use() и в конце позвонить new Vue() instance. Я думаю, что это может повысить производительность, поскольку Vue.$mount создает много элементов DOM и запускает javascript logi c, и это происходит после запроса / ответа XHR. Итак, мой вопрос: что является лучшим решением, шаблоны для решения описанной проблемы?

Могу ли я избежать выборки данных конфигурации (возможно, поместить данные в какой-нибудь файл c из веб-пакета во время процесса сборки (данные хранятся в MySQL) или, возможно, я могу использовать Vue .use после создания Vue экземпляр?

1 Ответ

1 голос
/ 19 февраля 2020

Я предпочитаю избегать выборки данных конфигурации на сервере. В моем варианте вы должны поместить конфигурацию в файл stati c для сборки с помощью веб-пакета.

Но я отвечу на ваш вопрос: у Vue нет ограничений относительно загрузки плагинов после экземпляра Vue создано. Это работа.

См. Приведенный ниже пример.

<template>
  <div>
    <button type="button" @click="installPlugin">install plugin</button>
    <button type="button" @click="callPlugin">call plugin</button>
  </div>
</template>

<script>
import Vue from 'vue';

export default {
  name: 'app',
  methods: {
    installPlugin() {
      Vue.use({
        install(Vue, options) {
          console.log('plugin was installed');

          Vue.prototype.$test = () => {
            console.log('plugin was called');
            return 'run-test';
          };
        },
      });
    },
    callPlugin() {
      this.$test();
    },
  },
};
</script>

В этом примере плагин Vue можно установить и вызвать после создания экземпляра Vue.

...