@izheme
Познаю мир

Как добавить реактивное свойство к инъекции модуля (@nuxtjs/auth) в Nuxt?

Использую Nuxt + Vuex + @nuxtjs/auth. Последний доступен из контекста как $auth. Есть идея добавить несколько свойств для $auth, которые будут возвращать геттеры из хранилища. Например, $auth.isPro. Добавляю через плагин. Проблема в том, что при обертке в функцию все работает как надо, но тогда надо обращаться $auth.isPro(), что не удобно. А при попытке сделать это свойством теряется реактивность. Код плагина:
import Vue from 'vue';

export default function ({ $auth, store }) {
  $auth.isProFunction = () => {
    return store.getters.isPro;
  };

  Vue.set($auth, 'isProProperty', store.getters.isPro); // Не работает, теряет реактивность
}

Создал живой пример: https://stackblitz.com/edit/github-xn1epa-d5kz9z?f...
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Object.defineProperty($auth, 'isPro', {
  get: () => store.getters.isPro,
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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