Angular 从子组件访问父变量

Angular 从子组件访问父变量,angular,typescript,Angular,Typescript,如何从父组件、子组件获取变量 应用程序组件 secret: string = '123' @Input() secret; console.log(this.secret); => undefined 子组件 secret: string = '123' @Input() secret; console.log(this.secret); => undefined 每个示例仅显示模板绑定,例如[secret]=“secret” 如何从子组件访问父组件的数据?在父组件的HT

如何从父组件、子组件获取变量

应用程序组件

secret: string = '123'
@Input() secret;

console.log(this.secret);
=> undefined
子组件

secret: string = '123'
@Input() secret;

console.log(this.secret);
=> undefined
每个示例仅显示模板绑定,例如
[secret]=“secret”


如何从子组件访问父组件的数据?

在父组件的HTML中使用属性绑定(您正在使用子组件),如下所示:


在父组件(您正在使用子组件)的HTML中尝试使用属性绑定,如下所示:



如果你不通过,你就不能通过。你可以通过服务分享,但这是另一个故事,当你使用路由器插座时,你如何传递它?@Vikas你投了反对票,因为你不能阅读。Sebastian Hildebrandt建议使用服务传递数据。这就是为什么我对他的评论投了更高的票,因为他提出了一个有效的建议,而不是像你那样的无用链接。我明确表示,我正在寻找一种不用模板传递数据的方法。有什么不清楚的?如果你不知道答案,不要回答。我看到你通过张贴无用的链接来获得选票,并希望得到其他消极好斗的人的赞扬,而不是真正回答问题。如果你不通过,你就不能。你可以通过服务分享,但这是另一个故事,当你使用路由器插座时,你如何传递它?@Vikas你投了反对票,因为你不能阅读。Sebastian Hildebrandt建议使用服务传递数据。这就是为什么我对他的评论投了更高的票,因为他提出了一个有效的建议,而不是像你那样的无用链接。我明确表示,我正在寻找一种不用模板传递数据的方法。有什么不清楚的?如果你不知道答案,不要回答。我看到你通过张贴无用的链接来获得选票,并希望得到其他消极好斗的人的赞扬,而不是真正回答问题。我的孩子很懒,只存在于路由器出口中。另一种可能是创建一个服务,在那里你“存储”从父项读取值,然后从子项中的该服务读取值。。。如果子组件应该对父组件值的更改做出反应,那么您需要将服务实现为可观察的服务,然后您可以在子组件中订阅。@bruh那么您为什么不在问题中提及。我的子组件是惰性加载的,并且只存在于router Outlet中。另一种可能是创建一个服务,您可以在其中“存储”来自父组件的值,然后在子组件中读取来自该服务的值……如果子组件应对父组件值的更改作出反应,则您需要将该服务实现为可观察的,然后您可以在子组件中订阅。@bruh那么您为什么不在问题中提及。