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