官术网_书友最值得收藏!

Components in Angular

Angular took this approach by introducing new building blocks called components. Components extend the directive concept we described in the previous section and provide a broader functionality. Here is the definition of a basic Hello world component:

@Component({ 
  selector: 'hello-world', 
  template: '<h1>Hello, {{target}}!</h1>' 
}) 
class HelloWorld { 
  target: string; 
  constructor() { 
    this.target = 'world'; 
  } 
} 

We can use it by inserting the following markup in our view:

<hello-world></hello-world> 
According to the best practices, we should use a selector of type element for components since we may have only a single component per DOM element.

We will take a look at the preceding syntax in more detail later in this book. Now let's briefly describe the functionality that this component provides. Once the Angular application is bootstrapped, it will look at all the elements in the DOM tree and process them. When it finds an element called hello-world, it will invoke the logic associated with its definition, which means that the template of the component will be rendered and the expression between the curly brackets will be evaluated. This will result in the <h1>Hello, world!</h1> markup.

So, to summarize, the Angular core team separated out the directives from AngularJS into two different parts: components and directives. Directives provide an easy way to attach behavior to the DOM elements without defining a view. Components in Angular provide a powerful, and yet simple-to-learn API, which makes it easier to define the user interface of our applications. Angular components allow us to do the same amazing things as AngularJS directives, but with less typing and fewer things to learn. Components extend the Angular directive concept by adding a view to it. We can think of the relation between Angular components and directives the same way as the relation between Composite and Leaf from the diagram we saw in Figure 5.

Conceptually, we can present the relation between directives and Components as inheritance. Chapter 5, Getting Started with Angular Components and Directives, describes these two concepts in further detail.

主站蜘蛛池模板: 定陶县| 乌苏市| 建水县| 兰考县| 金川县| 安国市| 华亭县| 博兴县| 永兴县| 准格尔旗| 靖江市| 闽侯县| 承德县| 长汀县| 区。| 平凉市| 罗甸县| 香河县| 大厂| 进贤县| 义马市| 神池县| 兴文县| 清流县| 云和县| 屏东县| 万州区| 潢川县| 沧源| 玉溪市| 凭祥市| 凤山市| 靖边县| 翁牛特旗| 江达县| 旺苍县| 郁南县| 贵德县| 固始县| 南充市| 达拉特旗|