Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: dynamic, binding, attribute

Как Vue интерпретирует строковые и динамические значения атрибутов?

Вопрос проверяет понимание синтаксиса шаблонов Vue и того, как фреймворк различает строковые литералы и JavaScript-выражения.

Короткий ответ

Во Vue атрибут без : всегда считается строкой. Атрибут с : интерпретируется как JavaScript-выражение. Это правило действует для всех атрибутов, включая class, style, key и пользовательские пропсы. Непонимание этого часто приводит к логическим ошибкам. Для передачи значений из данных нужно использовать динамический биндинг.

Длинный ответ

Vue использует единое правило для интерпретации всех атрибутов в шаблоне.

Определение

Строковый атрибут — это значение, переданное как текстовый литерал.
Динамический атрибут — это значение, вычисляемое как JavaScript-выражение.

Строковые значения

Если атрибут указан без ::

<MyComponent title="hello" />

Vue передаст строку "hello", даже если в данных есть переменная с таким именем.

Динамические значения

Если используется ::

<MyComponent :title="message" />

Vue возьмёт значение переменной message из контекста компонента.

Типичные последствия

Из-за этого различия:

  • key="id" передаёт строку "id"

  • :key="id" передаёт значение переменной

  • :disabled="false" реально отключает атрибут

  • disabled="false" всё равно включает disabled

Краткий вывод

Во Vue все атрибуты без : — строки, а с : — выражения, и это правило нужно учитывать всегда.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#dynamic

#binding

#attribute

Подпишись на React Developer в телеграм