Prerequisites
Angularj JS new version is using nodejs for setting up application and for running applicaion you will also need any code editor tool.
For current setup we are using visual code studio
Kindly down load latest version of nodejs and visual code studio on your machine and complete setup
Node Installation
1 Go to this site and download latest version of node js
2) Once installed open command prompt and type “node”
you will be able to see version on node js that means nodejs installed

Install Visual Studio
1 Go to this site and download latest version of
https://code.visualstudio.com/
2. Once installed on windows go to search menu and type visual you will be able to see its installed like below screenshot

3.Open Application and you will be able to see below screen

4) Select folder from file menu for your project
5) Open Terminal from Terminal option

Install Angular cli
Run below command
npm install -g @angular/cli
once its installed type below command in terminal to verify installation

Create a workspace and initial application
Run below command
ng new my-app
it will ask for angular routing =>select yes
then select css as style sheer language like below screenshot

Press Enter and it will generate your project
in below diagram 1) Creating html and components from schematics 2) DOwnloading required packages you can see under node_modules folder

Run the application
Run below command
traverse to application folder
cd my-app
run below command to start and open application
ng serve –open
this command will compile app and launch it with webpack on http://localhost:4200/

Congrats your first application is running and working fine

Creating Hello World
In angular data binding is happening between html and component classes .
Here we will declare one variable in component file and same will be visible on UI .
- Delete everything from app.component.html.

2. Declare variable in app.component.ts

app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'my-app';
message = 'Hello World';
}
3. Now add binding between UI and component with scriplet tag

app.component.html
<div>
<h1>{{message}}</h1>
</div>
4. Run below command to compile app
ng serve

5. Open browser and enter http://localhost:4200/

Your application is running and rendered “Hello World” in browser. Same way you can initialize variables and pass data from component to UI.
Now we have created hello world application with single component and now we will create additional component which will be useful to add re usability.
Create Attribute Directive
Use below command to create component
ng generate directive color
This command will create below folder structure

This command will also add new directive in declaration section of app.module.ts so it can be reused by other components and get loaded at startup
app.module.ts

Edit color.directive.ts
Below is code for color.directive.ts
import { Directive, ElementRef, Renderer } from '@angular/core';
@Directive({
selector: '[appColor]'
})
export class ColorDirective {
constructor(el: ElementRef, renderer: Renderer) {
// Use renderer to render the element with styles
renderer.setElementStyle(el.nativeElement, 'color', 'red');
}
}
Edit Main page of application
we will use this directive in app.component.html so it will get displayed on front page using app.component.html
app.component.html
without directive
<h1 >Hello</h1>
With directive
<h1 appColor>Hello</h1>
<div>
<h1 *ngIf="name=='James'">
{{name}}
</h1>
</div>
As you can see we have used h1 block without directive and after that we have used h1 block with directive appColor
Run below command to compile app
ng serve

Open App in browser
use below url to open in browser

Now you can see color of next Hello world change to red that means appearance of content in h1 block got changed .
This is how you can create attribute directive and use it in project .
GIT REPO:
https://github.com/letsblogcontent/AngularJS/tree/master/newdirectiveapp
Video Tutorial