Глобальные функции / 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 и вызвать ее? |
Также позвольте спросить если в каждом компоненте нужна какая-то переменная ее лучше хранить в миксинах или в vuex или в prototype
К примеру export default { data() { return { assetsResolution: screen.width <= 1920 && screen.height <= 1080 ? 1080 : 2160, }; }, }; Насколько я понимаю если я ее оставлю в миксине она будет пересчитатся у каждого компонента и для оптимизации ее лучше поставить в vuex чтоб она не считалась заново в каждом компоненте или я не прав))? |
В общем prototype подошел идеально https://vuejs.org/v2/cookbook/adding...roperties.html
|
Используйте 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(); } }, //.... } |
Часовой пояс GMT +3, время: 15:53. |