Para instalarlos solo hay que ir desde la consola a la carpeta:
npm install
ng serve
npm install
ng serve
import { FormsModule } from '@angular/forms';
imports: [
BrowserModule,
FormsModule
],
.lsg {
border-radius: 4px;
margin-top: 20px;
padding: 30px;
background: #fff;
}
body {
background: #02AAB0; /* fallback for old browsers */
background: -webkit-linear-gradient(left, #00CDAC, #02AAB0);
background: -moz-linear-gradient(left, #00CDAC, #02AAB0);
background: -o-linear-gradient(left, #00CDAC, #02AAB0);
background: linear-gradient(to right, #00CDAC, #02AAB0);
}
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
titulo = 'CRUD de Angular';
msg:string = '';
empleados = [
{
'nombre': 'Uno',
'cargo': 'Programador',
'email': 'uno@gmail.com'
},
{
'nombre': 'Dos',
'cargo': 'Maquetador',
'email': 'dos@gmail.com'
},
{
'nombre': 'Tres',
'cargo': 'Cuentas',
'email': 'tres@gmail.com'
},
{
'nombre': 'Cuatro',
'cargo': 'Programador',
'email': 'cuatro@gmail.com'
}
];
model:any = {};
model2:any = {};
hideUpdate:boolean = true;
addEmpleado():void {
this.empleados.push(this.model);
this.msg = 'campo agregado';
$("#nombre").val("");
$("#cargo").val("");
$("#email").val("");
}
deleteEmpleado(i):void {
var answer = confirm('Estas seguro querer eliminarlo?');
if(answer) {
this.empleados.splice(i, 1);
this.msg = 'campo eliminado';
}
}
myValue;
editEmpleado(i):void {
this.hideUpdate = false;
this.model2.nombre = this.empleados[i].nombre;
this.model2.cargo = this.empleados[i].cargo;
this.model2.email = this.empleados[i].email;
this.myValue = i;
}
updateEmpleado():void {
let i = this.myValue;
for(let j = 0; j < this.empleados.length; j++){
if(i == j) {
this.empleados[i] = this.model2;
this.msg = 'campo actualizado';
this.model2 = {};
}
}
}
}
<div class="container lsg">
<div class="row">
<div class="col-sm-8">
<h1 class="text-center">
{{titulo}}
</h1>
</div>
<div class="col-sm-4">
<div class="alert alert-success alert-dismissable" *ngIf="msg">
<a href="#" class="close" (click)="closeAlert()">
×
</a>
{{msg}}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<img width="300" src="images/logo.jpg" />
</div>
<div class="col-sm-8">
<h2>Crear:</h2>
<form class="form-horizontal">
<div class="form-group">
<label for="nombre" class="control-label col-sm-2">
Nombre
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="nombre"
name="nombre" [(ngModel)]="model.nombre"
placeholder="Escribe el nombre"
>
</div>
</div>
<div class="form-group">
<label for="position" class="control-label col-sm-2">
Cargo
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cargo"
name="cargo" [(ngModel)]="model.cargo"
placeholder="Escribe el cargo"
>
</div>
</div>
<div class="form-group">
<label for="email" class="control-label col-sm-2">
Email
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="email"
name="email" [(ngModel)]="model.email"
placeholder="Escribe el email"
>
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<button type="submit" class="btn btn-success" (click)="addEmpleado()">
Guardar
</button>
</div>
</div>
</form>
</div>
</div>
<div class="row">
<div class="col-sm-8">
<h2>Listado de empleados: </h2>
<table class="table table-bordered">
<thead>
<tr>
<th>Nombre</th>
<th>Cargo</th>
<th>Email</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let item of empleados; let i = index">
<td>{{item.nombre}}</td>
<td>{{item.cargo}}</td>
<td>{{item.email}}</td>
<td>
<a (click)="editEmpleado(i)" class="btn btn-success">
Modificar
</a>
<a (click)="deleteEmpleado(i)" class="btn btn-danger">
Borrar
</a>
</td>
</tr>
</tbody>
</table>
</div>
<div class="col-sm-4" [hidden]="hideUpdate">
<h2>Modificar:</h2>
<form class="form-horizontal">
<div class="form-group">
<label for="nombre" class="control-label col-sm-2">
Nombre
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="nombre"
name="nombre" [(ngModel)]="model2.nombre"
placeholder="Escribe el nuevo nombre"
>
</div>
</div>
<div class="form-group">
<label for="cargo" class="control-label col-sm-2">
Cargo
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="cargo"
name="cargo" [(ngModel)]="model2.cargo"
placeholder="Escribe el nuevo cargo"
>
</div>
</div>
<div class="form-group">
<label for="email" class="control-label col-sm-2">
Email
</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="email"
name="email" [(ngModel)]="model2.email"
placeholder="Escribe el nuevo email"
>
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<button type="submit" class="btn btn-success" (click)="updateEmpleado()">
Guardar
</button>
</div>
</div>
</form>
</div>
</div>
</div>
import { Component } from '@angular/core';
import { componentFactoryName } from '@angular/compiler';
@Component({
selector: 'app-header',
template: '<h1>Esto va a ser la cabecera</h1>'
})
export class HeaderComponent {
}
import { Component } from '@angular/core';
import { componentFactoryName } from '@angular/compiler';
@Component({
selector: 'app-footer',
template: '<h1>Esto va a ser el footer</h1>'
})
export class FooterComponent {
}
import { HeaderComponent } from './common/header.component';
import { FooterComponent } from './common/footer.component';
...
declarations: [ AppComponent, HeaderComponent, FooterComponent ],
template: `<app-header></app-header>
<h1>Hola holitaa mundo {{name}}</h1>
<app-footer></app-footer>`
@Component({
selector: 'app-header',
templateUrl: './header.component.html'
})
@Component({
selector: 'app-right',
templateUrl: './right.component.html',
styleUrls: ['./right.component.css']
})
<div class="col-md-8">
<p class="bloqueRight">Zona Derecha</p>
</div>
.bloqueRight {
border:1px solid #000;
background-color: #2C2961;
color:#FFF;
height:300px;
}
export class RightComponent {
titulo:string = "En un lugar de la Mancha";
arrNum:Array<string> = ["uno", "dos", "tres", "cuatro", "cinco"];
}
<div class="col-md-8">
<div class="bloqueRight">
<p>{{ titulo }}</p>
<ul>
<li *ngFor="let item of arrNum"> {{item}}</li>
</ul>
</div>
</div>
https://git-scm.com/
git init
git clone https://github.com/angular/quickstart
npm install
npm start
1) instalar la última versión node.js
2) instalar Visual Studio Code
3) Desde la consola:
npm install -g @angular/cli
ng new myfirstapp
4) cd myfirstapp
ng serve
5) Navegador: http://localhost:4200/
ng generate component nuevo
// prefix te cambia app por el prefix q le pongas, en este caso lsg
ng new nggallery --prefix lsg
// Para saber todos los flags que le puedes pasar a un comando:
ng g c --help
// -is --flat es para que lo cree en el mismo directorio
ng g c navbar -is --flat
ng g c galeria
ng g cl image