import {Component, Input, Output, EventEmitter} from 'angular2/angular2'; import {UpgradeAdapter} from 'angular2/angular2'; import * as angular from '../../../angular2/src/upgrade/angular_js'; var styles = [ ` .border { border: solid 2px DodgerBlue; } .title { background-color: LightSkyBlue; padding: .2em 1em; font-size: 1.2em; } .content { padding: 1em; } ` ]; var adapter: UpgradeAdapter = new UpgradeAdapter(); var ng1module = angular.module('myExample', []); ng1module.controller('Index', function($scope) { $scope.name = 'World'; }); ng1module.directive('user', function() { return { scope: {handle: '@', reset: '&'}, template: ` User: {{handle}}
` }; }); @Component({ selector: 'pane', template: `
{{title}}
`, styles: styles }) class Pane { @Input() title: string; } @Component({ selector: 'upgrade-app', template: `
`, styles: styles, directives: [Pane, adapter.upgradeNg1Component('user')] }) class UpgradeApp { @Input() user: string; @Output() reset = new EventEmitter(); constructor() {} } ng1module.directive('upgradeApp', adapter.downgradeNg2Component(UpgradeApp)); export function main() { adapter.bootstrap(document.body, ['myExample']); }