Mudanças entre as edições de "Angular"

De BrapciWiki
Ir para navegação Ir para pesquisar
Linha 90: Linha 90:
 
==Cookie==
 
==Cookie==
 
  npm install ngx-cookie-service
 
  npm install ngx-cookie-service
 +
No módulo de serviço
 +
import { CookieService } from 'ngx-cookie-service';
  
  public ngOnInit(): void
+
public ngOnInit(): void
 
  {
 
  {
 
   /******************************************************************** */
 
   /******************************************************************** */

Edição das 07h29min de 22 de julho de 2023

Angular NG Client

Criando projeto

ng new [project name]

Cirar projeto com as rotas

ng new [project name] --routing --defaults

Colocando em produção

ng build
ng build --base-href=/algumacoisa/

Module

Criando módulo com rota

ng g m modulo --routing

Componentes

Novo componente

ng g c [/modules/brapci/headers/head]

Route - Routas

ng generate module app-routing --flat --module=app

Rotas com ID

constructor(private ActivatedRoute: ActivatedRoute) {}
ngOnInit() {
  this.ActivatedRoute.params.subscribe(
    res=>console.log(res.id,res.name)
  )
  /*********** GET *********/
  this.ActivatedRoute.queryParams.subscribe(
    res=>console.log(res.id,res.name)
  )
}

Rotas TS

constructor(private Router: Router) {}

Sem reload de Página

this.router.navigate(['home']);

Com reload da Página

this.router.navigateByUrl('/home');

Rotas Ativas

routerLinkActive
[a routerLink="['/home',1]" [routerLinkActive]="['class_active']" [routerLinkActiveOptions]="{exact: true}">Home 1[a]

routerLink

[a routerLink="['/home',1]">Home 1[a]

Nova Inteface

ng g interface /modules/interface/vocabulary

Data Binding

Interpolation (sem espaços)

{ { title } } (HTML)
public title: string="Título" (TS)

Property Binding

<button [disabled]="disableButton">Botão</button> (HTML)
<img [src]="imageCapaURL"> (HTML)
<img src="Predefinição:ImageCapaURL"> (HTML)

Event Binding

<button (click)="calc()">Calcular</button> (HTML)
<button (click)="calc($event)">Calcular</button> (HTML)
public calc(valor: MouseEvent) { (TS)
  console.log(valor) }

Two-way binding

<input ngModel="nome"> (HTML)
Predefinição:Nome (HTML)
public nome="Nome" (TS)

Services

ng g s data/isbn
  • Incluir no app.component (Http)

Formulários

Ciclo de Vida

Cookie

npm install ngx-cookie-service

No módulo de serviço

import { CookieService } from 'ngx-cookie-service';
public ngOnInit(): void
{
  /******************************************************************** */
  public setLibrary(id: string) {
    this.CookieService.set('library', id);
  }

  public getLibrary() {
    if (this.CookieService.check('library')) {
      return this.CookieService.get('library');
    } else {
      return 0
    }
  }
 }

Bootstrap Angular

ng add @ng-bootstrap/ng-bootstrap
npm install bootstrap bootstrap-icons
/* Editar o arquivoi angular.json */
"styles": [
  "node_modules/bootstrap/scss/bootstrap.scss",
  "node_modules/bootstrap-icons/font/bootstrap-icons.css",
  "src/styles.scss"
],
"scripts": [
  "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"
]

npm install @ng-bootstrap/ng-bootstrap

Variáveis

public title:string = "Brapci";
public valor:number = 1;
public valido:boolean = true;
public position: { x: number, y: number } = { x: 0, y: 0 };
public date: Data = new Date();
====Array====

public list: Array<{ nome: string, idade: number}> = [

 { nome: "Rene", idade: 53 },
 { nome: "Viviade", idade: 52 },
];

Insere um tiem em uma array

this.list.push({nome: "Nome", idade: 31 });

Remove um item de uma array

this.list.splice(id)

Criar Modulo

ng g m NOME --routing

Funções

Rodando servidor

ng s

Produção

Gerando Build

Angular Material

Instalar:

ng add @angular/material