Как я могу передать тип реквизита атрибуту 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>
Спасибо за любую помощь.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Синтаксис, который вы используете для привязки атрибутов 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>
Вы можете найти полное объяснение здесь.
Вам нужно привязать тип, попробуйте как
:type = "type"