@reasonov

Можно ли объявлять методы и тд по условию?

Здравствуйте, появился вопрос, можно ли объявить метод и тд по условию?
Я написал слайдер, под пк и сенсор, там есть обработчики touch событий и собственно методы к ним, которые на пк версии не используются. Можно ли сделать что то типо
if(mobile){
  touchStart() ...
}
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Какие проблемы?
created() {
  if(mobile){
    this.touchStart = () => {}
  }
}

Но поскольку mobile или не mobile определяется один раз в жизни приложения, то логичней вынести определение функций\методов в отдельный файл, типа:
let touchStart;
if(mobile){
  touchStart = function() {}
} else {
  touchStart = function() {}
}

export {
  touchStart
}
import {touchStart, ...} from './helpers';
methods: {
  touchStart,
  ...
}

Либо как миксин:
const touchMixin = {
  methods: mobile ? {
    touchStart() {}
  } : {
    touchStart() {}
  }
}
mixins: [touchMixin],
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы