Vue3 - установить атрибут HTML в качестве опоры в подкомпоненте

Как я могу передать тип реквизита атрибуту HTML «тип», найденному во входном теге?

При запуске этого кода в браузере ввод пароля по-прежнему работает как стандартный ввод текста.

    <div class = "mt-4 place-items-center grid gap-4 grid-cols-1 auto-rows-max">
        <Card>
          <form>
            <Input label = "Username" type = "text"/>
            <Input label = "Password" type = "password"/>
          </form>
        </Card>
    </div>

Input.vue

<script lang = "ts">

    export default {
        props: {
            label: String,
            type: String,
        },
    }

</script>

<template>
    <div class = "mb-2">
        <label class = "block text-stone-50 text-sm font-bold mb-2" for = {{label}}>
            {{label}}
        </label>
        <input class = "border-2 border-stone-700 rounded w-full py-2 px-3 text-stone-700 leading-tight focus:outline-none focus:shadow-outline" id = {{label}} type = {{type}}/>
    </div>
</template>

Спасибо за любую помощь.

Вам нужно привязать тип, попробуйте как :type = "type"

Nikola Pavicevic 04.10.2022 15:00
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Синтаксис, который вы используете для привязки атрибутов html к реквизиту, неверен: двойные фигурные скобки {{ }} можно использовать только для добавления текста внутрь содержимого тега. Вместо этого вы должны привязать реактивные значения к свойствам HTML следующим образом: <tag :propertyName = "propertyVariable"></tag>. В вашем случае, например:

    <template>
        <div class = "mb-2">
            <label class = "block text-stone-50 text-sm font-bold mb-2" :for = "label">
                {{label}}
            </label>
            <input class = "border-2 border-stone-700 rounded w-full py-2 px-3 text-stone-700 leading-tight focus:outline-none focus:shadow-outline" :id = "label" :type = "type"/>
        </div>
    </template>

Вы можете найти полное объяснение здесь.

Другие вопросы по теме