import {Component, FORM_DIRECTIVES, Input, Output, View, EventEmitter } from 'angular2/angular2';
@Component({ selector: 'foxyInput', events: ['change']})@View({ template: '<input [(ng-model)]="model" (keyup)="onChange($event)" (change)="onChange($event)" >', directives: [FORM_DIRECTIVES]})export class foxyInput{ @Input() model: String; @Output() change = new EventEmitter(); onChange(event) { this.change.next(event.target.value); }}
import {bootstrap, Directive, Component, CORE_DIRECTIVES, Input, View, Attribute} from 'angular2/angular2';import {foxyInput} from './foxy-input';
@Component({ selector: 'my-app',})@View({ template: ` <foxyInput model="{{test}}" (change)="onChange($event)"></foxyInput> {{test}} `, directives: [foxyInput]})class AppComponent{ test: String; constructor() { this.test = "some text"; } onChange(event) { this.test = event; }}bootstrap(AppComponent);
import {HostListener, Component, FORM_DIRECTIVES, Input, Output, View, EventEmitter } from 'angular2/angular2';
@Component({ selector: 'foxyInput', events: ['textchange']})@View({ template: '<input value={{model}}>',
directives: [FORM_DIRECTIVES]})export class foxyInput{ @Input() model: String;
@Output() textchange = new EventEmitter(); @HostListener('change', [ '$event.target.value' ]) onChange(event) { this.textchange.next(event); } @HostListener('keyup', [ '$event' ]) onKeyup(event) { this.textchange.next(event.target.value); }}
<foxyInput model="{{test}}" (textchange)="test=$event"></foxyInput>
<foxyInput [(model)]="test2"></foxyInput>
import {HostListener, Component, FORM_DIRECTIVES, Input, Output, View, EventEmitter, NgIf } from 'angular2/angular2';
@Component({ selector: 'foxyInput', events: ['modelChange']
})@View({ template: ` <input value={{model}}>
`,
directives: [FORM_DIRECTIVES, foxyLabel, NgIf]
})export class foxyInput{ @Input() model: String;
@Output() modelChange = new EventEmitter();
@HostListener('change', [ '$event.target.value' ]) onChange(event) {
this.modelChange.next(event);
} @HostListener('keyup', [ '$event' ]) onKeyup(event) {
this.modelChange.next(event.target.value); }}