Angular 2 - Component metadata
Okay, let's build the first component, the app
component, in a file named app.component.ts,
inside the app directory. To build an Angular component, you need to
use the component decorator on a class. The component decorator comes
from the core scope package in Angular.
So, we can add an import statement for the component
decorator from the Angular core scope package. And then we can call
the decorator, using the app component syntax with the parentheses. Then,
we need to export a class for the component. We will name this class AppComponent. So, the class
definition reads as: export class AppComponent, and a pair of curly braces.
import { Component } from
'@angular/core';
@Component({
selector:
'app',
template:
'<h1>My App</h1>'
})
export class AppComponent
{}
Now, just like the NG module decorator, the
component decorator takes in a metadata object, with some known
properties, to configure a class you decorate as an angular
component.
To decorate a component, you need to provide two
metadata properties at a minimum. Selector,
and template, or template url. We will pass in an
object literal, inside the component decorator parentheses. And for
now, we will set the selector property to the stringed value of
app. And the template property to a string with an HTML H1 tag. The
selector property is what Angular will use to locate a custom HTML
element, and apply the component too.
<html>
<head>
<title>Tutespace – Angular2 Tutorials</title>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1">
<script
src="node_modules/core-js/client/shim.min.js"></script>
<script
src="node_modules/zone.js/dist/zone.js"></script>
<script
src="node_modules/reflect-metadata/Reflect.js"></script>
<script
src="node_modules/systemjs/dist/system.src.js"></script>
<script
src="systemjs.config.js"></script>
<link href="resets.css"
rel="stylesheet">
<style>
body {
margin: 0px;
padding: 0px;
background-color: #32435b;
}
</style>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
<body>
<app>Loading...</app>
</body>
</html>