Задать вопрос

Возможно ли во .vue компоненте получить name компонента или имя файла компонента в качестве переменной в sass?

Может быть есть какая-то библиотека?
  • Вопрос задан
  • 461 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Игра на Vue.js
    1 неделя
    Далее
  • OTUS
    Vue.js разработчик
    4 месяца
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
Решения вопроса 2
Вы изобретаете ненужный велосипед (чуть не написал "кажется" по заветам CoCK моей галеры). Класс и имя компонента - разные вещи, у них разные соглашения об именовании. Так, css-класс не должен быть написан StudyCaps'ом (в отличие от имени компонента), и, кроме того, может несколько разниться - это нормально.

По теме
Vue.component('my-thing', {
    name: 'mything'
})
// later
vm.$options.name // 'mything'
Ответ написан
Комментировать
Aetae
@Aetae Куратор тега Vue.js
Тлен
Имя файла в принципе можно получить как-то так:
vue.config.js:
module.exports = {
  css: {
    loaderOptions: {
      sass: {
        prependData({resourcePath}) {
          const vueFileName = resourcePath.match(/([^\\\/]+).vue$/i);
          if(vueFileName)
            return `$vue-file-name: "${vueFileName[1]}"`
        }
      }
    }
  }
}
В каждом Vue компоненте в sass у вас будет теперь переменная $vue-file-name с именем файла.
Но зачем?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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