TYPESCRIPT
@Component({
selector: 'cmp',
template: `
<h1>"Anything less than immortality is a complete waste of time" (c)Bender</h1>
<p>Cmp input: {{cmpInput}}</p>
<p>Aliased input: {{aliasedInputName}}</p>
`
})
class CmpComponent {
@Input() cmpInput: string;
@Input('bindedInputName') aliasedInputName: string;
@Output() cmpOutput = new EventEmitter<string>();
constructor(router: Router, @Optional() public cmpComponentDependency: CmpComponentDependency) {}
}
ECMASCRIPT
class CmpComponent {
static get annotations() {
return [
new Component({
selector: 'cmp',
template: `
<h1>"Anything less than immortality is a complete waste of time" (c)Bender</h1>
<p>Cmp input: {{cmpInput}}</p>
<p>Aliased input: {{aliasedInputName}}</p>
`,
inputs: ['cmpInput:cmpInput', 'bindedInputName:aliasedInputName'],
outputs: ['cmpOutput']
})
]
}
static get parameters() {
return [
[Router],
[new Optional(), CmpComponentDependency]
]
}
constructor(router, cmpComponentDependency) {
this.router = router;
this.cmpComponentDependency = cmpComponentDependency;
this.cmpOutput = new EventEmitter();
}
ngOnInit() {
this.cmpOutput.emit('Emitted value');
}
}