Ich habe eine Komponente, an die ich eine Vorlage übergebe. Innerhalb dieser Komponente möchte ich den Kontext übergeben, damit ich Daten anzeigen kann.Übergabe von Kontext an Vorlage über ngOutletContext in Angular2
@Component({
selector: 'my-component',
providers: [],
template: `
<template [ngTemplateOutlet]="templ" [ngOutletContext]="{isVisible: true}">
</template>
`
})
export class MyElementComponent implements OnInit {
@ContentChild(TemplateRef) templ;
constructor(){}
}
Wenn nun innerhalb von einer anderen Komponente mit Komponente:
<my-component>
<template>
{{isVisible ? 'yes!' : 'no'}}
</template>
</my-component>
So in my-component
ich eine Vorlage bin vorbei, die templ
von @ContentChild
mit Namen in seiner Klasse behandelt wird.
Dann in my-component
‚s Vorlage i templ
-ngTemplateOutlet
und zusätzlich bin vorbei, ich bin Kontext vorbei ngOutletContext
verwendet, die isVisible
Set true
hat.
wir sollten sehen yes!
auf dem Bildschirm, aber es scheint, dass Kontext nie bestanden wird.
Meine abgewinkelte Ausführung:
"@angular/common": "^2.3.1",
"@angular/compiler": "^2.3.1",
"@angular/core": "^2.3.1",
Ich bin vor Suche. Du hast Recht, Kontext wird nie weitergegeben. Dies liegt daran, dass die Vorlage, die Sie als Inhalt an übergeben, tatsächlich an den Kontext des Hosts von gebunden ist. Ich würde es gerne auch so machen, aber ich sehe noch keinen Weg. –
@AlexanderLeonov Schau meine Antwort. Ich habe es gefunden. – Tukkan