Javascript 角度10:控制台将我的对象显示为;“身份不明”;(将数据从父级传递给子级)
我正在尝试将数据从父对象传递到子对象。当我将字符串(数据1)从父对象传递给子对象时,我得到了正确的输出,但当我尝试显示对象(数据)时,控制台说它未识别,屏幕上没有显示任何内容 父组件:Javascript 角度10:控制台将我的对象显示为;“身份不明”;(将数据从父级传递给子级),javascript,angular,object,angular10,Javascript,Angular,Object,Angular10,我正在尝试将数据从父对象传递到子对象。当我将字符串(数据1)从父对象传递给子对象时,我得到了正确的输出,但当我尝试显示对象(数据)时,控制台说它未识别,屏幕上没有显示任何内容 父组件: 从'@angular/core'导入{Component}; @组成部分({ 选择器:'应用程序根', templateUrl:“./app.component.html”, 样式URL:['./app.component.css'] }) 导出类AppComponent{ 资料={ 姓名:"查尔斯",, 年龄
从'@angular/core'导入{Component};
@组成部分({
选择器:'应用程序根',
templateUrl:“./app.component.html”,
样式URL:['./app.component.css']
})
导出类AppComponent{
资料={
姓名:"查尔斯",,
年龄:24岁,
电邮:'charles@gmail.com'
};
data1=“查尔斯”;
}
如果您的数据
(在父组件中)变量具有静态值,则您的子组件将
@Input()sendName;
ngOnInit():void{
console.log(this.sendName);
}
如果您的数据
(在父组件中)变量将从动态值赋值,则您的子组件将
(假设您有一个API来调用和更新API响应上的sendName
变量,但是我们的子组件在没有等待API响应的情况下被初始化,那么我们需要触发@Input()
以在子组件中发送更新的数据)
@Input()设置sendName(值:any){
如果(值){
console.log(值);
this.name=value
//从这里调用任何函数
}
}
姓名:any;//在任何地方使用此变量
构造函数(){
}
在父对象的数据中设置值之前,您可能正在渲染子对象
在子组件中导入一次更改并从ngochanges()获取
尝试
sendName?.name
并在您的模板中使用相同的年龄它似乎在这里工作:@iamentafaz谢谢!是的,我尝试了sendName?.name
,但我想知道我的代码有什么问题。代码现在可以正常工作了@谢谢你!是的,代码可以单独工作。我也没有看到您的代码中有任何错误。可能您的代码试图在密钥在子组件中可用之前访问它。
import { Component, OnInit, Input ,Onchanges} from '@angular/core';
export class ContactComponent implements OnInit,Onchanges {
@Input() sendName; constructor() { }
ngOnChanges() {
console.log(this.sendName); }