Глобальные функции / 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, время: 16:18. |