Skip to content

Instantly share code, notes, and snippets.

@cosemansp
Last active April 17, 2016 10:34
Show Gist options
  • Save cosemansp/faf70e02189734e330a309f18f6ad78e to your computer and use it in GitHub Desktop.
Save cosemansp/faf70e02189734e330a309f18f6ad78e to your computer and use it in GitHub Desktop.

@Input / @Output

@Component({
	selector: 'ng2-markdown',
	inputs: [ 'source' ],
	outputs: [ 'modified' ]
})

export class MyComponent {
	constructor () {
		this.modified = new EventEmitter();
	}

	ngOnInit() {
			console.log(this.source);
	}
}

Dependency Injection

class AppComponent {
  	static get parameters() {
    		return [[CityService]];
  	}

  	constructor(cityService) {
    		this._cityService = cityService;
  	}
}

ES6+ (more TypeScript alike)

{	
  "presets": ["es2015"],
  "plugins": [
    "angular2-annotations",
    "transform-decorators-legacy",
    "transform-flow-strip-types",
    "transform-class-properties",
    "transform-flow-strip-types"
  ]
}

// use is as follow

class MyComponent {
	@Input() item;
	@Output() itemModified = new EventEmitter();
	
	_cityService = null;

	constructor(cityService: CityService) {
		this._cityService = cityService;
	}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment