Реквизиты Vue позволяют вам регистрировать пользовательские атрибуты в компоненте. Узнайте, как именно их использовать.

Одной из ключевых особенностей Vue является его модульная архитектура, которая позволяет создавать веб-приложения, комбинируя небольшие повторно используемые компоненты. Это позволяет легко обновлять и поддерживать веб-приложение.

Каждый компонент в Vue может иметь свой собственный набор данных и методов, которые вы можете передать своим дочерним компонентам с помощью свойств. Здесь вы узнаете, как использовать реквизиты в Vue для передачи данных от родительских компонентов к дочерним.

Что такое реквизит в Vue?

Реквизиты — сокращение от «свойства» — это настраиваемые атрибуты в Vue, которые родительский компонент может передавать своим дочерним компонентам.

В Vue родительские компоненты передают свойства дочерним компонентам в однонаправленном потоке. Это означает, что дочерние компоненты могут только читать и использовать эти переданные реквизиты, но не могут изменять данные.

instagram viewer

Использование реквизита позволяет создавать многократно используемые компоненты, которые можно применять во всем приложении. Свойства экономят ваше время и усилия, поскольку вы можете повторно использовать компоненты, а не создавать новые компоненты с нуля.

Как передать реквизит в Vue

Передача реквизита в Vue проста и отличается от того, как вы передаете реквизит в React. Чтобы передать свойство родительского компонента его дочернему компоненту в Vue, используйте параметр props в сценарии дочернего компонента.

Вот пример:

 Дочерний компонент 
<шаблон>
<див>
<h1>{{ заголовок }}h1>
<п>{{ сообщение }}п>
<п>{{ Адрес электронной почты }}п>
див>
шаблон>

<сценарий>
экспорт по умолчанию {
имя: "Дочерний компонент",
реквизит: ["заголовок", "сообщение", "адрес электронной почты"],
};
сценарий>

Приведенный выше блок кода описывает дочерний компонент Vue, использующий реквизиты для передачи данных из родительского компонента. Компонент включает в себя три HTML-элемента, которые отображают заголовок, сообщение, и Адрес электронной почты свойства с интерполяцией.

реквизит option в дочернем компоненте принимает массив свойств. Этот массив определяет свойства, которые дочерний компонент принимает от родительского компонента.

Вот пример родительского компонента Vue, передающего данные дочернему компоненту с помощью реквизит:

 родительский компонент 
<шаблон>
<див>
<дочерний компонент
title="Привет, мир"
message="Это сообщение от родительского компонента"
emailAddress="user0000@example.com"
/>
див>
шаблон>

<сценарий>
импортировать ChildComponent из "./components/ChildComponent.vue";

экспорт по умолчанию {
имя: "Родительский компонент",
компоненты: {
дочерний компонент,
},
};
сценарий>

Родительский компонент в приведенном выше блоке кода передает три реквизита дочернему компоненту. Блок кода передает статические значения в заголовок, сообщение, и Адрес электронной почты реквизит.

Вы также можете передавать динамические значения своим реквизитам с помощью v-связать директива. v-связать это директива используется в Vue для привязки данных к атрибутам HTML.

Вот пример родительского компонента Vue, использующего v-связать директива для передачи динамических значений свойствам:

 родительский компонент 
<шаблон>
<див>
<дочерний компонент
:название= "название"
:сообщение= "сообщение"
:emailAddress= "адрес электронной почты"
/>
див>
шаблон>

<сценарий>
импортировать ChildComponent из "./components/ChildComponent.vue";

экспорт по умолчанию {
имя: "Родительский компонент",
компоненты: {
дочерний компонент,
},
данные() {
возвращаться {
title: "Добро пожаловать, дорогая",
сообщение: "Как дела",
адрес электронной почты: "user0000@gmail.com",
};
},
};
сценарий>

Используя v-связать для передачи данных дочернему компоненту, вы можете обновить значения свойств в зависимости от состояния родительского компонента. Например, путем изменения заголовок свойство данных в родительском компоненте, заголовок prop, переданный дочернему компоненту, также будет обновлен.

Этот метод определения свойств как массива строк является сокращенным шаблоном. Каждая из строк в массиве представляет реквизит. Этот метод идеален, когда все реквизиты в массиве имеют одинаковые Тип данных JavaScript.

Определение реквизита как объекта в Vue

Определение реквизита как объекта JavaScript вместо массива позволяет лучше настраивать каждый реквизит. Определение реквизита как объекта в компоненте позволит вам указать ожидаемый тип данных каждого реквизита и значение по умолчанию.

Кроме того, вы можете пометить определенные реквизиты как необходимые, вызывая предупреждение, если реквизит не предоставляется, когда компонент используется. Определение реквизита как объекта дает несколько преимуществ по сравнению с определением реквизита как массива, в том числе:

  1. Определение ожидаемого типа данных и значения по умолчанию для каждого реквизита облегчает вам и вашей команде разработчиков понимание того, как именно использовать компонент.
  2. Помечая реквизиты по мере необходимости, вы можете обнаруживать ошибки на ранних этапах процесса разработки и предоставлять больше информации команде разработчиков.

Вот пример того, как определить свойства как объект в компоненте Vue.js:

<шаблон>
<див>
<h1>{{ заголовок }}h1>
<п>{{ сообщение }}п>
<п>{{ Адрес электронной почты }}п>
див>
шаблон>

<сценарий>
экспорт по умолчанию {
имя: "Дочерний компонент",
реквизит: {
заголовок: {
тип: Строка,
по умолчанию: "Заголовок по умолчанию",
},
сообщение: {
тип: Строка,
по умолчанию: "Сообщение по умолчанию",
},
Адрес электронной почты: {
тип: Строка,
требуется: правда,
},
},
};
сценарий>

Этот блок кода является примером компонента Vue.js, который использует реквизиты для передачи данных из родительского компонента в дочерний компонент. Блок кода определяет эти реквизиты как объекты с типом и значением по умолчанию или обязательным флагом.

Блок кода определяет заголовок и сообщение реквизит в виде струн с по умолчанию ценность и Адрес электронной почты опора как необходимый нить.

Выберите лучший метод, который подходит вашему приложению Vue

Вы узнали, как определять свойства как в виде массива, так и в виде объекта. Ваши предпочтения должны соответствовать конкретным потребностям вашего приложения.

Vue зарекомендовал себя как очень гибкий фреймворк JavaScript. Он предлагает множество методов и вариантов для достижения одной и той же цели с различными преимуществами для любого из вариантов или методов, которые вы выбрали для работы.