J'ai un composant qui contient l'élément form
. Ce formulaire a un input[type="number"]
qui sera utilisé pour ajuster un élément iframe
. Le problème est, l'élément iframe
est à l'intérieur @ViewChild
. Comment puis-je passer le [(ng-model)]
sur l'entrée de formulaire au [width]
sur le iframe
à l'intérieur de @ViewChild
? Le code ressemble à ceci:Comment passer [(ng-model)] dans @ViewChild dans Angular4?
@Component({
selector: "demo-iframe",
template: `
<form (submit)="onSubmit($event)">
<input type="number" min="0" [(ngModel)]="model.px">px
<button>update px</button>
</form>
<div #placeholder></div>
`
})
export class DemoIframeCmp {
@ViewChild("placeholder", { read: ViewContainerRef }) private viewContainerRef: ViewContainerRef;
constructor (
private route: ActivatedRoute,
private router: Router,
private compiler: Compiler
) {
document.title = "Test iframe";
this.paramsSub = this.route.params.subscribe((params: IClickDemoParams) => {
document.title = `Demo iframe ${params.demoId}`;
this.buildDemo(params.demoId);
});
this.setWidth = 800;
}
private buildDemo (selector: string) {
@Component({
selector: "test-iframe",
template: `
<iframe class="iframe-demo" src="http://localhost:3000/${selector}" [width]="px"></iframe>
`
})
}
Pouvez-vous donner une démo rapide? Je l'ai essayé mais je ne pouvais pas passer la valeur :( – ivanasetiawan
C'était la démo Vous pouvez passer une valeur à votre enfant en utilisant la notation html: [votreValeur] = "valeur" – Carsten