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 || {}); |