【发布时间】:2017-10-09 07:42:16
【问题描述】:
我有一个组件,里面有 form 元素。此表单有一个input[type="number"],将用于调整iframe 元素。问题是,iframe 元素在@ViewChild 内部。如何将表单输入上的[(ng-model)] 传递给iframe 内部@ViewChild 上的[width]?代码如下所示:
@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>
`
})
}
【问题讨论】:
标签: javascript angular iframe