[К содержанию](../readme.md#введение-в-web-разработку) # Vue.js: концепции ## #8 Бизнес логика или детали реализации? > 10 минут * [YouTube](https://www.youtube.com/watch?v=U2ZJCMiQuo8) * [RuTube](https://rutube.ru/video/dd892631a12710bea4ef59c5dc40eeef/) ## #9 Учимся учиться > 5 минут * [YouTube](https://www.youtube.com/watch?v=ekrzshM4AHI) * [RuTube](https://rutube.ru/video/100ab08808ebc706fe69ff9e8d9a132a/) ## #10 Криптономикон-1 - Vue.js: практика > 39 минут Ниже приведен вольный пересказ этого скринкаста с переписыванием под `Vue3 + script setup`. Т.е. сначала просмотрите видео, чтобы понять о чём идет речь, а потом по пересказу попробуйте реализовать пример. * [YouTube](https://www.youtube.com/watch?v=0MEpPU3rWCk) * [RuTube](https://rutube.ru/video/5a7fa691b1fae3c7fa0d0dbf47dbfbdd/) ### Материалы к заданию 1. [Исходный HTML/CSS для самостоятельного повторения](https://gitlab.com/vuejs-club/youtube-course/cryptonomicon-html) 1. Материалы к изучению: под роликом на ютубе куча ссылок, но в принципе там раздел "Основы" от [Синтаксиса шаблонов](https://v3.ru.vuejs.org/ru/guide/template-syntax.html) до "Работы с формами" 1. [API для получения ключа:](https://www.cryptocompare.com/) **Расшифровка скринкаста** (вольный пересказ своими словами) **Внимание**! Cегодня мы с вами __напишем очень и очень плохой код__ почему так и зачем мы это сделаем? Мы это сделаем потому что когда вас учат писать сразу хороший код, вас учат решать задачу одним способом. Рано или поздно вы сталкиваетесь c задачами, решения которые вы не знаете и оказываетесь ситуации когда не понимаете хорошее ваше решение или плохое. Мы с вами вначале напишем плохой, но к сожалению распространенный код и шаг за шагом, в рамках этой серии видео, будем его улучшать. У нас, как и в реальной жизни, будут появляться новые требования заказчика, мы будем находить какие-то баги сами уже у себя и сами героический фиксить и так далее. Таким образом, на выходе вы не только получите хороший код для решения этой задачи, но и понимание как глядя на код понять что он действительно плохой. >В рамках расшифровки скринкаста я сразу буду переписывать его на Vue3, используя `vite` + `script setup` ### Описание проекта Чем же мы с вами займемся? Мы с вами напишем небольшое приложение, которое позволяет добавлять в список отслеживания криптовалюты, используя **api** `cryptocompare.com`. Соответственно мы будем иметь возможность добавить криптовалютные пары "имя валюты - USD" в наблюдение и, когда мы выбираем конкретную валюту, у нас внизу появляется график отслеживания. ### Создание нового проекта, удаление лишего В домашнем задании [первой лекции](./web_01.md) вы должны были научится создавать приложене **Vue**. Откроем его и удаляем "рыбу": * нам не нужно содержимое директорий `src/assets` и `src/components` * в `App.vue` удаляем всё из скрипта и шаблона (стили вообще удаляем) ```html ``` ```js ``` * в `main.js` комментируем строчку с импортом `./main.css` Можем запустить проект командой `npm run dev` и посмотреть на пустое окно, убедившись заодно, что нет ошибок ### Добавление вёрстки и стилей В [материалах](#материалы-к-заданию) есть ссылка на файлы с вёрсткой. 1. Скопируйте содержимое `` из файла `index.htm` в ваш шаблон (внутрь тега `