Help Angular by taking a 1 minute survey!Go to surveyHome

Attribute

A parameter decorator for a directive constructor that designates a host-element attribute whose value is injected as a constant string literal.

OptionDescription
attributeName

The name of the attribute whose value can be injected.

Options

The name of the attribute whose value can be injected.

attributeName: string
      
      attributeName: string
    

Usage notes

Suppose we have an <input> element and want to know its type.

<input type="text">
      
      <input type="text">
    

The following example uses the decorator to inject the string literal text.

@Directive({selector: 'input'}) class InputAttrDirective { constructor(@Attribute('type') type: string) { // type would be 'text' in this example } }
      
      @Directive({selector: 'input'})
class InputAttrDirective {
  constructor(@Attribute('type') type: string) {
    // type would be 'text' in this example
  }
}
    

Example as TypeScript Decorator

@Component({selector: 'page', template: 'Title: {{title}}'}) class Page { title: string; constructor(@Attribute('title') title: string) { this.title = title; } }
      
      @Component({selector: 'page', template: 'Title: {{title}}'})
class Page {
  title: string;
  constructor(@Attribute('title') title: string) { this.title = title; }
}