Проблема в том, что я не могу передать динамические переменные Pug компоненту Vue через атрибуты, если они имеют тип «String». Vue считает строку, которую я пытаюсь передать, именем свойства Vue.
Проблема
template.pug
- var pugVariable = 'John';
my-component(v-bind:name= pugVariable)
* MyComponent.Vue *
export default {
name: 'MyComponent',
props: {
name: {
type: String
}
}
}
Я получаю сообщение об ошибке: «Свойство или метод« Джон »не определен в экземпляре, но на него ссылаются во время рендеринга». Это означает, насколько я понимаю, что Vue считает строку, находящуюся в pugVariable
, как имя собственности Vue.
Вопрос
Итак, вопрос в том, чтобы убедить Vue рассматривать эту переменную как строку?
Что я уже пробовал:
Я попытался передать литерал объекта вместо строки следующим образом:
my-component(v-bind:name= {value: pugVariable})
Это работает, но мы теряем возможность проверять тип передаваемого значения, поэтому мне не нравится это решение.