В этом году на Gothenburgh Tech Week (1–7 мая) Craft Academy представляет небольшой доклад на тему «Что такое приложение и как его создать?», , что мы с Эмбер Уилки будем принимать гостей.
Чтобы подготовиться к моему первому профессиональному выступлению, я могу начать готовиться и работать над тем, как говорить о программировании = этот пост в блоге. Следуйте за мной :)
API
API создается Amber, поэтому я не буду говорить об API. Хотя я могу сказать, что он построен на Ruby on Rails и позволяет манипулировать контактной формой . После заполнения формы создается контакт в серверной базе данных. Эта информация будет доступна в созданной конечной точке API Amber.
Настройка нового приложения Angular 4
Я начну с самого начала. Убедитесь, что на вашем компьютере установлен Node.js, следуйте инструкциям здесь: https://nodejs.org/en/. Когда это будет сделано, запустите .node -v
, чтобы проверить, все ли обновлено. И на всякий случай протестируйте, чтобы у вас была латсетная версия npm; .npm -v
в противном случае: .npm install npm -g
.
Теперь мы готовы установить angular и его пакеты на ваш компьютер:
$npm install -g @angular/cli
Мы используем / cli - из-за того, что он очень прост при создании, управлении и сборке, он автоматически создает новые проекты и некоторые полезные команды для продолжения сборки в приложении. Это проще, чем делать все вручную.
Затем создайте новый проект:
$ng new my_new_project $cd my_new_project
А затем запустить сервер: (http: // localhost: 4200)
$ng serve
Приложение Angular 4
Если вы сейчас просмотрите свои файлы, вы можете увидеть, что автоматически получили компонент и модуль.
component
определяет логику приложения, поддерживающую представление. Компонент взаимодействует с представлением через свойства и методы. Архитектура приложения Angular состоит из компонентов. Вы вкладываете компоненты друг в друга, чтобы сделать возможным создание одностраничных веб-сайтов. app.component.ts
- это наш корневой компонент.
В то время как module
является контейнером для различных частей в приложении - контроллеров, служб, фильтров и директив, например, - которые все вместе сгруппируют все функции приложения. Также здесь вы импортируете необходимые зависимости и внешние модули и определяете поставщиков и компоненты. В основном он загружает приложение. В нашем приложении app.module.ts
- это наш корневой модуль.
И вы, наверное, знаете, что делают файлы .html
и .css
. Если нет, то .html - это то место, где вы добавляете то, что вы хотите, чтобы представление выглядело. И .css
- это то, что мы используем, чтобы сделать теги более красивыми и изменить различные элементы, которые были добавлены в файл .html
. .spec
файл, который мы можем просто проигнорировать - поскольку он не имеет ничего общего с тем, что мы создаем на данный момент.
Подключение API к нашему приложению
Позвольте мне начать с того, что не усложняйте. Легче сказать, чем сделать. Когда я начал создавать интерфейс, я создал 6 новых файлов в надежде получить ответ от серверной части. Это сработало? Нет, это не должно быть так сложно, как я подумал через день. Итак, проект, который на самом деле должен был занять около часа, занял полтора дня… Одна из причин, по которой я пишу этот пост, - показать вам, насколько это просто.
Итак, перейдем к нашему app.component.ts
файлу. Здесь мы и будем вызывать API.
Нам нужно убедиться, что он импортирован в модуль и идентифицировать его как провайдера:
Почему вы спросите. Это потому, что нам нужно будет предоставить доступ к API, а это может сделать только провайдер.
Давайте импортируем некоторые необходимые библиотеки, чтобы приложение работало так, как мы хотим.
Нам нужен http
- класс, который выполняет HTTP-запросы, а также response
, когда HTTP-запрос возвращается, он выдаст ответ. .map
помогает нам управлять данными, и в этом случае мы вызываем метод .json
для ответа, потому что фактический ответ - это не набор данных, а строка JSON.
Затем вызовем apiURL
и установим его в частный режим. Вы можете спросить, почему мы делаем его закрытым, потому что мы можем вызывать его только в этом классе AppComponent. После этого мы просто пишем новый метод (getData()
), который получает ответ от API. Давайте также установим ответ на json -, чтобы получить тело . Нам также нужно определить метод - что мы делаем прямо в console.log .
После этого нам нужно где-то хранить данные - чтобы потом отображать их в представлении. Итак, нам нужно присвоить новую переменную. Мы называем это data
и прямо сейчас настраиваем на что угодно. После этого появился новый метод, который получает ответ от API и getData()
метода, который мы позже сохраним внутри переменной data
. Теперь мы успешно подключили наше приложение Angular к нашей серверной части. Посмотрим, действительно ли это работает.
Отображение наших данных
Если вы запустите свой сервер и откройте браузер. Вероятно, вы увидите только «приложение работает!». Но если вы посмотрите под (другими словами, откройте консоль), вы можете увидеть, что мы получаем какой-то объект.
Что ж, у этого объекта действительно есть наши данные! Откройте объект в объекте и tada (!) - теперь у вас есть данные из API. Итак, как нам передать данные в представление? Опять же, это намного проще, чем вы думаете.
В Angular 4 есть директива *NgFor
- на самом деле очень полезная. Эта конкретная директива создает экземпляр шаблона один раз для каждого элемента из итерируемого объекта. Другими словами, он перебирает элемент из итерируемого объекта.
Итак, в нашем коде мы просто назначаем атрибут (contacts
) с данными из контактов. data
- это то место, где мы сохранили ответ от API, а контакты - это то, что API назвал массивами. Затем мы присваиваем все атрибуты (которые есть в API) для contact
. Если что-то кажется неясным, например атрибуты и т. Д., Проверьте, что вам предоставила консоль. Например, в моем случае у меня есть массив (data
) в массиве (contacts
), поэтому его data.contacts
, а не только data
. То же самое и с атрибутами. let contact
, однако вы можете назвать что угодно, например, let ebbaisbest
.
Это результат, и, как видите, все повторяется.
Итак, чтобы разделить их на отдельные блоки (и еще раз, намного ПРОЩЕ, чем предполагалось), просто добавьте еще один блок в контейнер. Совет от профессионалов, не гуглите «Как повторять один массив за раз ngFor Angular 4». Вот как вы это делаете.
И вуаля, у вас есть несколько хороших «карточек контактов». Теперь просто добавьте красивый стиль (не будем учить в этом конкретном сообщении в блоге), и вы получите веб-страницу, которая действительно может понравиться людям.
Если у вас возникли проблемы с подключением API к интерфейсу или вам просто понравился мой потрясающий пост в блоге и вы хотите узнать меня поближе, присоединяйтесь к докладу Craft Academy на Gothenburgh Tech Week:
Ссылка на мероприятие FB, если вам может быть интересно https://www.facebook.com/events/797060440441434/permalink/797085393772272/?notif_t=like¬if_id=1492464121160466)
Приятное спасибо:
Курс Максимилиана Шварцмюллера Удеми по Angular 4 (настоятельно рекомендуется)
Эмбер Уилки в Гётеборге и sigu в Кении.
Хотите узнать больше о том, чем мы занимаемся в CraftAcademy? Подпишитесь на нас в Medium, Facebook, Twitter или посетите наш сайт.