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

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.

主站蜘蛛池模板: 汶川县| 绥中县| 新建县| 阿勒泰市| 和田市| 鹤庆县| 屏山县| 潜江市| 镇平县| 茂名市| 古丈县| 庆元县| 奈曼旗| 磴口县| 清徐县| 泾川县| 保德县| 浠水县| 兴安盟| 江油市| 乐清市| 关岭| 安仁县| 孙吴县| 田林县| 武乡县| 临桂县| 沐川县| 阳泉市| 新余市| 临夏市| 拜城县| 阜新市| 汤阴县| 汝阳县| 衡东县| 永川市| 屏边| 满城县| 闻喜县| 林甸县|