मैं <ng-content>
का शरीर सेट करना चाहता हूं जबकि ComponentFactoryResolver
का उपयोग करके गतिशील रूप से घटक को तत्काल चालू करना चाहता हूं।एनजी-सामग्री के साथ एक कोणीय 2 घटक बनाना गतिशील रूप से
मुझे लगता है कि मैं आउटपुट तक ComponentRef
का उपयोग कर आउटपुट तक पहुंच प्राप्त कर सकता हूं, लेकिन <ng-content>
सेट करने का कोई तरीका नहीं है।
कृपया ध्यान दें <ng-content>
मैं सेटिंग करने की योजना बना रहा हूँ साधारण पाठ शामिल कर सकते हैं/span डायनामिक रूप से तैयार कर सकते हैं घटकों
@Component({
selector: 'app-component-to-project',
template: `<ng-content></ng-content>`
})
export class ComponentToProject implements AfterContentInit {
ngAfterContentInit() {
// We will do something important with content here
}
}
@Directive({
selector: 'appProjectionMarker'
})
export class ProjectionMarkerDirective implements OnInit {
constructor(private viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {
}
ngOnInit() {
const componentFactory: ComponentFactory<ComponentToProject> = this.componentFactoryResolver.resolveComponentFactory(ComponentToProject);
const componentRef: ComponentRef<ComponentToProject> = this.viewContainerRef.createComponent(componentFactory);
// Question: How to set content before the child's afterContentInit is invoked
}
}
@Component({
selector: 'appTestComponent',
template: `<div appProjectionMarker></div>`
})
export class TestComponent {}
'प्रोजेक्ट करने योग्य नोड्स' पैरामीटर का उपयोग करें https://stackoverflow.com/questions/41372334/why-is-projectablenodes-an-any – yurzui
क्या मैं 'प्रोजेक्ट करने योग्य नोड्स' के रूप में एक गतिशील घटक भी जोड़ सकता हूं, इसलिए बच्चा निर्देशक के माता-पिता के लिए उपलब्ध है '@ ContentChild'? –
चूंकि यह प्रोजेक्ट करने योग्य 'नोड' है, मुझे लगता है कि मैं केवल 'डोम' तत्व –