48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
(function(app) {
 | 
						|
 | 
						|
  // #docregion
 | 
						|
  var TitleComponent = ng.core.Component({
 | 
						|
    selector: 'hero-title',
 | 
						|
    template:
 | 
						|
      '<h1>{{titlePrefix}} {{title}}</h1>' +
 | 
						|
      '<button (click)="ok()">OK</button>' +
 | 
						|
      '<ng-content></ng-content>'
 | 
						|
  }).Class({
 | 
						|
    constructor: [
 | 
						|
      [
 | 
						|
        new ng.core.Optional(),
 | 
						|
        new ng.core.Inject('titlePrefix')
 | 
						|
      ],
 | 
						|
      new ng.core.Attribute('title'),
 | 
						|
      [
 | 
						|
        new ng.core.Query('okMsg'),
 | 
						|
        ng.core.ElementRef
 | 
						|
      ],
 | 
						|
      function(titlePrefix, title, msg) {
 | 
						|
        this.titlePrefix = titlePrefix;
 | 
						|
        this.title  = title;
 | 
						|
        this.msg = msg;
 | 
						|
      }
 | 
						|
    ],
 | 
						|
    ok: function() {
 | 
						|
      var msgEl =
 | 
						|
        this.msg.first.nativeElement;
 | 
						|
      msgEl.textContent = 'OK!';
 | 
						|
    }
 | 
						|
  });
 | 
						|
  // #enddocregion
 | 
						|
 | 
						|
  var AppComponent = ng.core.Component({
 | 
						|
    selector: 'hero-di-inject-additional',
 | 
						|
    template: '<hero-title title="Tour of Heroes">' +
 | 
						|
      '<span #okMsg class="ok-msg"></span>' +
 | 
						|
    '</hero-title>',
 | 
						|
    directives: [TitleComponent]
 | 
						|
  }).Class({
 | 
						|
    constructor: function() { }
 | 
						|
  });
 | 
						|
 | 
						|
  app.HeroDIInjectAdditionalComponent = AppComponent;
 | 
						|
 | 
						|
})(window.app = window.app || {});
 |