[К содержанию](../readme.md#введение-в-web-разработку) # Vue.js: компоненты ## #24 Криптономикон: компоненты >30 минут * [YouTube](https://www.youtube.com/watch?v=Ql5nV-G-nOs&list=PLvTBThJr861yMBhpKafII3HZLAYujuNWw&index=25) * [RuTube](https://rutube.ru/video/e6045a3ec72b655e9bfac5c77b40a9a9/) Документация по [основам компонентов](https://ru.vuejs.org/guide/essentials/component-basics.html) **Расшифровка скринкаста** Идея компонетов проста: каждый компонент может содержать в себе несколько других компонентов, в которые мы можем передать данные (**props**) и которые наружу могут генерировать события (**event**) Причин для использования компонентов несколько: * вынесение повторяющихся элементов (имеется в виду не `v-for`, а то что один компонент может быть использован в разных родительских компонентах) * просто выделение отдельных элементов бизнес-логики ### Первая итерация Для примера можем вынести **svg** со знаком `+` в отдельный компонент (если вы внимательно исследовали структуру "рыбы" в первом уроке, то там также вынесены **svg** в отдельные компоненты) ![](../img/web_020.png) 1. Создаём новый файл `src/components/PlusSingIcon.vue` 1. Пишем корневой тег `