Angular Cheat Sheet

https://angular.io/guide/setup-local

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { AddComponent } from './add/add.component';
import { HomeComponent } from './home/home.component';

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

import { HttpClientModule } from '@angular/common/http'

@NgModule({
  declarations: [
    AppComponent,
    AddComponent,
    HomeComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app-routing.module.ts

if app-routing.module.ts is not present then run this in root folder
ng generate module app-routing –flat –module=app

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { AddComponent } from './add/add.component';

const routes: Routes = [
  { path: 'add', component: AddComponent },
  { path: 'add/:num1/:num2', component: AddComponent },
  // { path: 'sub', component: SubComponent },
  // { path: 'mul', component: MulComponent },
  // { path: 'div', component: DivComponent },
  { path: '**', component: HomeComponent },
];

@NgModule({
  declarations: [],
  imports: [
    CommonModule,
    RouterModule.forRoot(routes)
  ],
  exports: [
    RouterModule
  ]
})
export class AppRoutingModule { }

app.component.html

<a routerLink="/"  routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}">Home</a> |
<a routerLink="/add"  routerLinkActive="active">Add</a>
<router-outlet></router-outlet>

app.component.css

.active {
  background-color: beige;
}

home.component.ts

ng g c home

import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms'
import { HomeService } from './home.service'

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  fruits = ["Orange", "Mango", "Banana", "Apple"];

  num1: number = 0;
  square: number = 0;

  form = new FormGroup({
    num1: new FormControl(),
    num2: new FormControl()
  });
  formResult: any;

  userRecords: any;

  constructor(private service: HomeService) { }

  ngOnInit() {
  }

  getSqr() {
    var x = this.num1;
    this.square = x * x;
  }

  addNum() {
    let x = parseInt(this.form.value.num1);
    let y = parseInt(this.form.value.num2);
    this.formResult = x + y;
  }

  getUsers() {
    this.service.getData().subscribe((response) => {
      console.log(response);
      this.userRecords = response;
    })
  }

}

home.component.html

<p>home works!</p>
{{ fruits }}

<div *ngFor="let fruit of fruits">
  {{fruit}}
</div>


<input type="text" (keyup)="getSqr()" [(ngModel)]="num1"/>
<div>
  Square of {{num1}} is {{square}}
</div>


<form [formGroup]="form" (submit)="addNum()">
  <input type="text" formControlName="num1"/>
  <input type="text" formControlName="num2"/>
  {{ form.value | json }}
  <div>
    Result: {{ formResult }}
  </div>
  <input type="submit" value="Add"/>
</form>


<button (click)="getUsers()">Get Data from Json Placeholder</button>
<div>
  {{userRecords}}
  <pre>
    {{userRecords | json}}
  </pre>
</div>

home.service.ts

cd home
ng g s home

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class HomeService {

  constructor(private http: HttpClient) { }

  getData() {
    let url = "https://jsonplaceholder.typicode.com/users";
    return this.http.get(url);
  }
}

add.component.ts

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';

@Component({
  selector: 'app-add',
  templateUrl: './add.component.html',
  styleUrls: ['./add.component.css']
})
export class AddComponent implements OnInit {

  number: number;
  param1: number;
  param2: number;

  constructor(private route: ActivatedRoute, private router: Router) {
    console.log(this.route.snapshot.url)
    console.log(this.route.snapshot.params)
    this.number = parseInt(this.route.snapshot.queryParamMap.get('id'))
    this.param1 = parseInt(this.route.snapshot.params.num1);
    this.param2 = parseInt(this.route.snapshot.params.num2);
  }

  ngOnInit() {
    console.log(this.number)
    console.log(this.param1)
    console.log(this.param2)

    // setTimeout(() => {
    //   this.router.navigate(['home']);
    // }, 3000)
  }

}
my-app\src\app\interceptor\httpconfig.interceptor.ts
import { Injectable } from '@angular/core';
import {
    HttpInterceptor,
    HttpRequest,
    HttpResponse,
    HttpHandler,
    HttpEvent,
    HttpErrorResponse
} from '@angular/common/http';

import { Observable, throwError } from 'rxjs';
import { map, catchError } from 'rxjs/operators';

@Injectable()
export class HttpConfigInterceptor implements HttpInterceptor {
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        const token: any = localStorage.getItem('token');
        // const token: string = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1X25hbWUiOiJhZG1pbiIsInB3ZCI6IkBkbWluIiwiaWF0IjoxNjEyNjM2OTc5fQ.ehlxu7z_1HSW4bPK902nLOAZOpHtutfkJ43lCxQnL68`;
        if (token) {
            request = request.clone({ headers: request.headers.set('Authorization', 'Bearer ' + token) });
        }

        if (!request.headers.has('Content-Type')) {
            request = request.clone({ headers: request.headers.set('Content-Type', 'application/json') });
        }

        request = request.clone({ headers: request.headers.set('Accept', 'application/json') });

        return next.handle(request).pipe(
            map((event: HttpEvent<any>) => {
                if (event instanceof HttpResponse) {
                    console.log('event--->>>', event);
                }
                return event;
            }));
    }
}

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { RouterModule } from '@angular/router';

import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'
import { HttpConfigInterceptor } from './interceptor/httpconfig.interceptor';


@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    HttpClientModule
  ],
  providers: [
    { provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true }
  ],
  bootstrap: [AppComponent]

})
export class AppModule { }

3,817 Replies to “Angular Cheat Sheet”

  1. Hello guys!
    I came across a 153 helpful page that I think you should take a look at.
    This site is packed with a lot of useful information that you might find insightful.
    It has everything you could possibly need, so be sure to give it a visit!
    https://ranksway.com/why-sports-activities-are-important/

    Additionally do not neglect, everyone, — one at all times can within this particular publication discover solutions to address the the very complicated inquiries. Our team tried — lay out the complete information using the most extremely understandable way.

  2. Hello .!
    I came across a 153 very cool tool that I think you should check out.
    This resource is packed with a lot of useful information that you might find valuable.
    It has everything you could possibly need, so be sure to give it a visit!
    https://simcookie.com/2022/08/29/three-most-notorious-crime-syndicates-in-the-world/

    And remember not to neglect, everyone, which a person always are able to within the piece locate solutions to your the absolute confusing queries. Our team attempted to present the complete information in the most most easy-to-grasp manner.

  3. Авторский блог https://blogger-tolstoy.ru о продвижении в Телеграм. Свежие гайды, проверенные стратегии и полезные советы по раскрутке каналов, чатов и ботов. Подробно о том, как увеличить аудиторию, повысить вовлеченность и эффективно монетизировать проекты в мессенджере Telegram.

  4. Погрузитесь в мир кино https://zonefilm.media с нашим онлайн-кинотеатром! Здесь каждый найдет фильмы для себя: от захватывающих блокбастеров и трогательных драм до мультфильмов для всей семьи. Удобный интерфейс, возможность смотреть онлайн на любом устройстве и постоянно обновляемая библиотека! Присоединяйтесь и наслаждайтесь!

  5. Доброго времени суток.
    Наткнулся на полезную статью.
    Может кому пригодится.
    Смотрите тут:

    blacksprut com

    Вроде норм.

  6. Медицинский сайт https://nogostop.ru об анатомии, патологиях и способах лечения. Симптомы, профилактика, современные препараты и рекомендации врачей в доступной форме.

  7. Свежие новости https://plometei.ru России и мира — оперативные публикации, экспертные обзоры и важные события. Будьте в курсе главных изменений в стране и за рубежом.

  8. Информационный портал https://diok.ru о событиях в мире, экономике, науке, автомобильной индустрии и обществе. Аналитика, обзоры и ключевые тенденции.

  9. Сайт о фермерстве https://webferma.com и садоводстве: посадка, удобрения, защита растений, теплицы и разведение животных. Полезные инструкции и современные агротехнологии.

  10. Справочный IT-портал https://help-wifi.ru программирование, администрирование, кибербезопасность, сети и облачные технологии. Инструкции, гайды, решения типовых ошибок и ответы на вопросы специалистов.

  11. Все об автозаконах https://autotonkosti.ru и штрафах — правила дорожного движения, работа ГИБДД, страхование ОСАГО, постановка на учет и оформление сделки купли-продажи авто.

  12. Новостной портал https://webof-sar.ru свежие события России и мира, политика, экономика, общество, технологии и культура. Оперативные публикации и аналитика каждый день.

  13. Онлайн новостной портал https://parnas42.ru с актуальными новостями, экспертными комментариями и главными событиями дня. Быстро, объективно и по существу.

  14. Мировые новости https://m-stroganov.ru о технологиях и криптовалютах, здоровье и происшествиях, путешествиях и туризме. Свежие публикации и экспертные обзоры каждый день.

  15. Нужен новый телефон? iphone магазин спб по выгодной цене. Интернет?магазин i4you предлагает оригинальные устройства Apple с официальной гарантией производителя — от года и более. Интернет?магазин i4you: оригинальные устройства Apple с гарантией от года. Выбирайте лучшее!

  16. Новый iPhone 17 купить СПб уже в продаже в Санкт?Петербурге! В интернет?магазине i4you вас ждёт широкий выбор оригинальных устройств Apple по выгодным ценам. На каждый смартфон действует официальная гарантия от производителя сроком от года — вы можете быть уверены в качестве и долговечности покупки.

  17. Интересует бьюти индустрия? курсы бровиста вакансии косметолога, массажиста, мастера маникюра, шугаринга, ресниц, бровиста, колориста и администратора салона красоты. Курсы для бьюти мастеров, онлайн обучение и сертификаты.

  18. Планируешь ремонт? ремонт квартир под ключ от косметического обновления до капитальной перепланировки. Индивидуальный подход, современные технологии и официальное оформление договора.

  19. Miele сервисный центр оказывает услуги как в гарантийный, так и в постгарантийный период. Все этапы ремонта согласовываются заранее. Клиент получает прозрачную стоимость и четкие сроки выполнения работ. Подробнее об услугах читайте на сайте: ремонт гладильной системы миле в москве

  20. Онлайн покер покерок скачать — турниры с крупными гарантиями, кеш-игры и специальные предложения для игроков. Обзоры форматов и условий участия.

  21. Все о фундаменте https://rus-fundament.ru виды оснований, расчет нагрузки, выбор материалов и этапы строительства. Практичные советы по заливке ленточного, плитного и свайного фундамента.

  22. Зарубежная недвижимость https://realtyz.ru актуальные предложения в Европе, Азии и на побережье. Информация о ценах, налогах, ВНЖ и инвестиционных возможностях.

  23. Всё про строительство https://hotimsvoydom.ru и ремонт — проекты домов, фундаменты, кровля, инженерные системы и отделка. Практичные советы, инструкции и современные технологии.

  24. Онлайн покер Покер онлайн покерок скачать — регулярные турниры, кеш-игры и специальные предложения для игроков. Обзоры возможностей платформы и условий участия.

  25. ойын автоматы Mine Drop слот – т?пн?с?а т?жырымдамасы мен жар?ын дизайны бар динамикалы? ойын автоматы. Механика, бонусты? м?мкіндіктер ж?не ойын процесіні? м?мкіндіктері туралы білі?із.

  26. Un sito web https://www.sopicks.it per trovare abbigliamento, accessori e prodotti alla moda con un motore di ricerca intelligente. Trova articoli per foto, marca, stile o tendenza, confronta le offerte dei negozi e crea look personalizzati in modo rapido e semplice.

  27. Dzisiejsze mecze https://www.mecze-dzis.pl aktualny harmonogram z dokladnymi godzinami rozpoczecia. Dowiedz sie, jakie mecze pilki noznej, hokeja i koszykowki odbeda sie dzisiaj, i sledz turnieje, ligi i druzyny w jednym wygodnym kalendarzu.

  28. Wiadomosci tenisowe http://www.teniswiadomosci.pl/ z Polski i ze swiata: najnowsze wyniki meczow, rankingi zawodniczek, analizy turniejow i wywiady z zawodniczkami. Sledz wydarzenia ATP i WTA, dowiedz sie o zwyciestwach, niespodziankach i najwazniejszych meczach sezonu.

  29. Нужен промокод казино? https://promocodenastavki.ru получите бесплатные вращения в популярных слотах. Актуальные бонус-коды, условия активации и пошаговая инструкция по использованию для новых и действующих игроков.

  30. Good morning!
    Access financial mysterious data with interesting and valuable market predictions and time your investments perfectly see on the website for prediction engines
    Full information on the link – https://101flow.site
    All the best and development in business!

  31. Hello everyone!
    Reveal symptom mysterious patterns within interesting cases offering valuable diagnosis and solve medical puzzles see on the website for symptom solvers
    Full information on the link – https://202fliks.site
    All the best and development in business!

  32. Good afternoon!
    Learn war mysterious strategies to find interesting and valuable military facts and understand the art of conflict see on the website for strategy archives
    Full information on the link – https://33capy.site
    All the best and development in business!

  33. אצבעותיו נגעו בנעליה, הסירו אותן לאט אחת אחת. הוא העביר את אצבעו על כף רגלה, על פדיקור מטופח לחלוטין, והיא נחנקה מהמגע הזה. שפתיו נגעו בקרסול שלה, ואז מעל, לכיוון הירך הפנימית. היא יש לך שם? רוצה לראות דירות דיסקרטיות? הוא מחייך, והוא כבר מושך את המכנסיים למטה. אני מהנהן כמו טיפש והוא מוריד את המכנסיים הקצרים עם התחתונים. והנה הוא, הזין הזה. בריא, עבה, עם וריד https://chopono.net/

  34. Проблемы с застройщиком? https://vzyskanie-ddu.ru помощь юриста по долевому строительству, расчет неустойки, подготовка претензии и подача иска в суд. Защитим права дольщиков и поможем получить компенсацию.

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

  36. Агентство недвижимости помогает подобрать квартиру в новостройке с учетом стадии строительства и условий покупки. Это позволяет выбрать оптимальный вариант для инвестиций или проживания https://novostroyrf.ru/

  37. Услуги по настройке https://sysadmin.guru и администрированию серверов и компьютеров. Установка систем, настройка сетей, обслуживание серверной инфраструктуры, защита данных и техническая поддержка. Помогаем обеспечить стабильную работу IT-систем.

  38. Если вы крутите Sweet Bonanza 2500 и хотите больше “живой” инфы, а не сухих описаний, залетайте в наш Telegram. Там обсуждаем бонуски, делимся скринами/результатами, отмечаем интересные моменты по игре и просто общаемся по слоту – удобно, когда хочется быстро понять, что сейчас у людей происходит по заносам и как слот себя ведёт на разных ставках.

  39. Hello!
    Decode crypto mysterious keys containing interesting and valuable blockchain news and secure your digital fortune see on the website for crypto wallets
    Full information on the link – https://900letekas.site
    All the best and development in business!

  40. Иногда не хочется сразу вносить крупную сумму – особенно если вы только присматриваетесь к площадке или просто хотите спокойно протестировать выводы и игру. В таких случаях отлично выручают казино с минимальным депозитом: можно начать с небольшого взноса, понять, как работает касса, какие платежные методы проходят, и насколько адекватны условия по бонусам. В нашем Telegram мы регулярно собираем актуальные варианты, отмечаем минималки по депозиту, нюансы по лимитам и подсказываем, где реально удобно стартовать без лишних рисков и неприятных сюрпризов.

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

  42. Качественное SEO https://outreachseo.ru продвижение сайта для бизнеса. Наши специалисты предлагают эффективные решения для роста позиций в поисковых системах. Подробнее об услугах и стратегиях можно узнать на сайте

  43. Любишь азарт? пин ап зеркало предлагает разнообразные игровые автоматы, настольные игры и интересные бонусные программы. Платформа создана для комфортной игры и предлагает широкий выбор развлечений.

  44. Если вы планируете купить памятник в Могилеве, обратите внимание на изделия из натурального гранита. Этот материал отличается долговечностью, стойкостью к погодным условиям и благородным внешним видом. В каталоге представлены как классические вертикальные стелы, так и эксклюзивные мемориальные комплексы. Профессиональное изготовление памятников в Могилеве включает разработку индивидуального эскиза, качественную гравировку и установку на кладбище – https://pamyatniki.top/

  45. Поведенческие факторы помогают поисковым системам определить качество сайта и уровень интереса пользователей. Чем активнее посетители взаимодействуют с контентом, тем выше вероятность улучшения позиций в поисковой выдаче. Узнать больше можно по ссылке, накрутка сайта автоматически

  46. Профессиональная веб-студия разрабатывает сайты под ключ и занимается их эффективным SEO-продвижением. Помогает бизнесу заявлять о себе в сети и увеличивать продажи. Подробнее об услугах на сайте https://inuniver24.ru/

  47. Профессиональная веб-студия разрабатывает сайты под ключ и занимается их эффективным SEO-продвижением. Помогает бизнесу заявлять о себе в сети и увеличивать продажи. Подробнее об услугах на сайте – https://inuniver24.ru/

  48. Накрутка поведенческих факторов может использоваться для повышения активности пользователей на сайте. Когда поисковая система видит большое количество взаимодействий, это может положительно влиять на ранжирование. Именно поэтому тема активно обсуждается в SEO среде. Подробнее можно узнать по ссылке: накрутка пф гугл

  49. Ароматные свечи ручной работы часто изготавливаются из натурального воска и ароматических масел. Они не только красиво смотрятся, но и наполняют пространство мягким приятным ароматом. Ознакомиться с ассортиментом можно по ссылке: https://aroma-lavka.ru/

  50. Ароматные свечи ручной работы часто изготавливаются из натурального воска и ароматических масел. Они не только красиво смотрятся, но и наполняют пространство мягким приятным ароматом. Ознакомиться с ассортиментом можно по ссылке https://aroma-lavka.ru/

  51. Дюбель гвозди подходят для задач, где на первом месте надежность соединения, скорость сборки и аккуратный итоговый результат Это удобно для регулярных поставок и серийной сборки: https://metizy-optom-moskva.ru/

  52. Дюбель гвозди часто используют там, где важны точная посадка, удобная сборка и предсказуемая работа крепежа в эксплуатации Это удобно для регулярных поставок и серийной сборки https://metizy-optom-moskva.ru/

  53. גלל בראשה את אירועי הלילה, וניסה להבין אם זה באמת קרה, או שזה רק הפנטזיה שלו? . עיסוי ארוטי: תפסתי את אשתו עם המאהב שלה השקט בבית היה כמעט מוחשי, נשבר רק על ידי חריקת רצפת העץ הישנה “אוי, בחייך,” היא צחקה, אבל הלחיים הפכו לורודות עוד יותר. מזגתי לה עוד יין. היא שתתה, נרגעה, ואני לחצתיעם מחמאות, נגיעות אקראיות בידה. ועכשיו הברך שלה נוגעת בטעות בשלי מתחת לשולחן … https://silverart.co.il/

  54. Klienci chętnie wybierają sufity napinane do mieszkań. To rozwiązanie pasuje do różnych stylów i układów pomieszczeń. Coraz częściej wybierane są proste minimalistyczne formy, dzięki czemu wnętrze wygląda schludnie i nowocześnie https://sufity-napinane-wroclaw.pl/

Leave a Reply to kypit kyrsovyu_vbsl Cancel reply

Your email address will not be published.