Yet Another Angular Article, Part 2 : components creation

Benjamin RICHARD
2 min read22 hours ago

--

In the previous article, i just talked about project creation. I mean, the main project, not sub-projects. Those one will be the subject of a future article.

Today is related to component creation. And like project creation, the Angular CLI is your best friend. So go an with : ng generate component hello-world

It run the code generation in the folder my-new-project/src/app/hello-world with 4 files :
* hello-world.component.html : the template
* hello-world.component.scss : the styles, in scss format since this is my choice at the project creation prompt
* hello-world.component.spec.ts : the test file
* hello-world.component.ts : the component

Now run ng serve and open the browser to localhost:4200 to see the result

Hey, but the component is not rendered ! Why ?

Because we didn’t use it :-)

Now open the root component ‘app.component.ts’ and add HelloWorlComponent in ‘imports’ section :

import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { HelloWorldComponent } from './hello-world/hello-world.component';
@Component({
selector: 'app-root',
imports: [RouterOutlet, HelloWorldComponent],
templateUrl: './app.component.html',
styleUrl: './app.component.scss',
})
export class AppComponent {
title = 'angular-tutorial';
}

The component is now available in AppComponent, and we can use it. Just edit the hello-world.component.html file and replace all the code by this :

<app-hello-world></app-hello-world>
<router-outlet />

Forget router-outlet for instance since we didn’t prevent the installation of Angular Router on project creation (if you don’t want routing you can do this : ng new my-new-project --routing=false )

The default selector prefix is ‘app’, that’s why the selector of the component is ‘app-hello-world’

Check the browser and you will see the default content of your component.

You can customize the css by adding this to hello-world.component.scss :

:host {
color: blueviolet
}

Check the browser and you will see the new color of the text. The :host selector is related to the current hello-world component.

So now, you know how to generate a simple component

Have a nice day 🌞

--

--

Benjamin RICHARD
Benjamin RICHARD

Written by Benjamin RICHARD

https://about.me/benjamin.richard Web applications engineering #php #symfony4 #js #nodejs #meteorjs #vuejs #angular2+, Photos, Bikes and Indian Motorcycle fan !

No responses yet