Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2021, 01:39
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

Глобальные функции / vue cli mixin
Здравствуйте, для того чтоб у каждого компонента был доступ к какойто функции я определил глобальный миксин (Работает)
main.js-file{
import globalmixins from "./mixins/globalmixins"
Vue.mixin(globalmixins);
}

src/mixins/globalmixins.js-file{
export default {
  methods: {
    getMinSide() {
      if (
        document.documentElement.clientWidth < document.documentElement.clientHeight
      ) {
        return document.documentElement.clientWidth;
      } else {
        return document.documentElement.clientHeight;
      }
    }
  }
}
}

Я могу его вызвать через vnode.context.getMinSide(); Но могу ли я обявить функцыю вне methods и вызвать ее?

Последний раз редактировалось fori, 21.04.2021 в 02:37.
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2021, 09:15
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

Также позвольте спросить если в каждом компоненте нужна какая-то переменная ее лучше хранить в миксинах или в vuex или в prototype
К примеру
export default {
  data() {
    return {
      assetsResolution: screen.width <= 1920 && screen.height <= 1080 ? 1080 : 2160,
    };
  },
};

Насколько я понимаю если я ее оставлю в миксине она будет пересчитатся у каждого компонента и для оптимизации ее лучше поставить в vuex чтоб она не считалась заново в каждом компоненте или я не прав))?

Последний раз редактировалось fori, 21.04.2021 в 09:28.
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2021, 09:30
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

В общем prototype подошел идеально https://vuejs.org/v2/cookbook/adding...roperties.html
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2021, 11:28
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Используйте state
Для чтения и мутации для изменения
methods: {
    ...mapMutations('cup', ['SET_INT_VALUE', 'SET_BOOL_VALUE']),
    UPDATE() {
      this.$store.state.board.build();
    }
  },
  computed: {
    width: {
      get() {
        return this.$store.state.cup.width
      },
      set(value) {
        this.SET_INT_VALUE({field: 'width', value});
        this.UPDATE();
      }
    }, //....
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск функции при загрузке страницы vue cli fori Javascript под браузер 7 31.03.2021 10:27
this.data не работает в vue cli fori Javascript под браузер 10 28.03.2021 21:17
что такое defineComponent (vue cli) fori Javascript под браузер 1 22.03.2021 20:46
"indent": в табы vue cli fori Оффтопик 0 18.03.2021 01:22
JQuery. Ajax. Глобальные функции Harvey jQuery 5 31.08.2011 16:54