【发布时间】:2020-06-29 08:39:52
【问题描述】:
我想从 app.component 获取用户输入并将这些参数传递给 ReusableComponent,处理该输入并显示结果。我在可重用组件中有一个子组件,称为“mycanvas”。
在父app.component.html中:
<div>
<app-reusable-component [filename]="'assets/base1.STL'" [colorname]="'red'" [perspective]="35">
</app-reusable-component>
</div>
<div class="stl">
<mat-form-field>
<mat-label>Name of the file</mat-label>
<mat-hint> File path of only stl file</mat-hint>
<input matInput [(ngModel)]="assets/base1.STL" name="filename" required>
</mat-form-field>
<mat-form-field>
<mat-label>Name of the color</mat-label>
<mat-hint> Color in string</mat-hint>
<input matInput [(ngModel)]="red" name="colorname" required>
</mat-form-field>
<mat-form-field>
<mat-label>Camera Perspective</mat-label>
<mat-hint> values in Integer</mat-hint>
<input matInput [(ngModel)]="35" name="perspective" required>
</mat-form-field>
</div>
在app.component.ts中,我已经导入了ReusableComponent:
import { Component, OnInit, ViewChild, Renderer2 } from '@angular/core';
import {ImlStlAppComponent} from 'src/app/iml-stl-app/iml-stl-app.component';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent implements OnInit {
title = 'stl-app';
constructor(){}
ngOnInit():void{}
}
我想将此参数作为用户输入传递给可重用组件并接受带有@Input 注解的组件:
export class ReusableComponent implements OnInit {
@Input()
filename:string;
@Input()
colorname:any;
@Input()
perspective:number;
function doSomething(){}
}
在 ResuableComponent.html 我有:
<div style="text-align:center">
<canvas #myCanvas id="myCanvas">
</canvas>
</div>
我认为我无法在可重用组件和应用程序组件之间建立通信,因此没有显示任何内容。有人可以指导我吗?
【问题讨论】:
标签: angular input parent-child