Skip to main content

Component vs Directives

Component and Directive is very important in Angular 2. Today we sharing difference between component and directive in Angular 2.

Components
Directive
For register component we use @Component meta-data annotation.
For register directives we use @Directive meta-data annotation.

Component is a directive which use shadow DOM to create encapsulate visual behavior called components.  Components are typically used to create UI widgets.

Directives is used to add behavior to an existing DOM element.


Component is used to break up the application into smaller components.

Directive is use to design re-usable components.
Only one component can be present per DOM element.

Many directive can be used in a per DOM element.
@View decorator or templateurl template are mandatory in the component.

Directive don’t have View.
Component is used to define pipes.

You can’t define Pipes in directive.
viewEncapsulation can be define in components because they have views.
Directive don’t have views. So you can’t use viewEncapsulation in directive.
Example –

import {Component, View} from 'angular2/angular2';

@Component({
  selector: 'message'
})
@View({
  template: `
      <h1>Hello Angular {{version}}</h1>
  `
})
class Message {
  constructor(public version: string) {}
}

<message></message>
Example –

import {Directive} from 'angular2/angular2';

@Directive({
    selector: "[myDirective]",
    hostListeners: {
        'click': 'showMessage()'
    }
})
class Message {

    constructor() {}

    showMessage() { console.log('Hello Directive'); }
}

<button myDirective>Click here</button>


Comments

Popular posts from this blog

Flash Tool Error Codes -MTK Chipset

Complete List of SP Flash Tool Error Codes and their Meanings and Solutions MTK Chipset. . How to Fix SP Flash Tool Errors (BROM Error Codes): SP Flash Tool Failed to enumerate COM Port This error clearly means that the Flash Tool has issues finding the COM port on which your device is connected. Solution: Connect your watch to other Port and make sure you have USB Drivers installed. Open “Device Manager” and find the COM Port of the device you connected. Once found, open Flash Tool, click on Options -> COM Port -> Select the COM Port on which you have connected your device. Device automatically disconnects during flashing Meaning: Device disconnects as soon as the flashing process begins, interrupting the process. Solution: Try a different USB Cord, USB Port & PC Hold the Volume down or up button while connecting the device to PC for flashing SP Flash Tool remains at 0% Solution: Install necessary MediaTek VCOM drivers on PC. Use the latest version of S...

HTML : Property vs Attribute

When writing HTML source code, you can define attributes on your HTML elements. Then, once the browser parses your code, a corresponding DOM node will be created. This node is an object, and therefore it has properties. For instance, this HTML element: <input type = "text" value = "Name:" > has 2 attributes. Once the browser parses this code, a HTMLInputElement object will be created, and this object will contain dozens of properties like: accept, accessKey, align, alt, attributes, autofocus, baseURI, checked, childElementCount, childNodes, children, classList, className, clientHeight, etc. For a given DOM node object, properties are the properties of that object, and attributes are the elements of the  attributes  property of that object. When a DOM node is created for a given HTML element, many of its properties relate to attributes with the same or similar names, but it's not a one-to-one relationship. For instance, for this HTML element:...