打印个人内部的任何值都不会出现问题,但是不会显示通过@Input或@Output获得的任何值。
child.component.ts
@Component({
selector: 'app-form-input',
templateUrl: './form-input.component.html',
styleUrls: ['./form-input.component.scss']
})
export class FormInputComponent implements OnInit {
@Input() fieldType: string;
//with another Input and 1 Output DOM
constructor(
) {
}
ngOnInit() {
console.log(this.fieldType);
}
}
parent.component.html
<app-form-input (value)="action($event)"
[fieldType]="date"
[maxAllowItem]="1">
</app-form-input>
语法有什么问题吗? 在所有情况下,日志始终显示“未定义”。
谢谢
答案 0 :(得分:2)
我认为这是在尝试提取组件中定义的变量。
尝试以下语法,再次包装字符串,这应该确保您传递的是字符串,而不是组件中的变量,然后输入将知道需要字符串。
[fieldType]="'date'"
这会将字符串包装在"
和'
中。
答案 1 :(得分:0)
您可能需要在组件内部初始化@Input
和@Output
变量的初始值,因为@Input
属性将是undefined
,除非从外部和{ {1}}属性需要使用@Output
您还需要检查ngOnChanges
内部的值,这些值将在变更检测期间执行
您的代码将如下所示:
EventEmitter