【问题标题】:calling parent component function from router component in angular2从angular2中的路由器组件调用父组件函数
【发布时间】:2016-10-06 10:06:25
【问题描述】:

我有两个组件如下,我想从另一个组件调用一个函数。 component1 是父组件,即 appcomponent,组件 2 实际上是子路由组件。

父组件 1:

@component(
selector:'my-app'
)
export class com1{
function1(){...}
}

子路由组件2:

@component(
selector:'com2'
)
export class com2{
function2(){...
// i want to call function 1 from com1 here
}
}

我尝试过使用事件发射器等,但它不起作用。有人可以帮忙吗?此设置基本上是用于身份验证调用登录框,如果未通过身份验证,如果有我需要了解的内容,也会有所帮助

【问题讨论】:

标签: angular angular2-components


【解决方案1】:

为了与路由器添加的组件进行通信,请使用共享服务。输入和输出不起作用。

关于组件之间的通信,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html

【讨论】:

  • 嗨,感谢您的回复,我尝试了共享服务的示例,它引发了有关查询的错误,您能在这里给我看示例吗?还是只是粗略的代码??
  • 这个问题可能有几十个答案,链接教程详细显示了如何做到这一点。如果您收到有关“查询”的错误,则说明您缺少导入或未正确提供服务。
  • 这就是我创建 service @Injectable() export class AuthLoginService { constructor(private Service: AppComponent) { } Error() { this.Service.authcheck();} } 的方式
  • 我认为新的 RC.2 版本为这个问题提供了更好的错误信息。它通常是由未正确导入构造函数参数类型引起的。也可能是你有一个 DI 不允许的循环依赖。
猜你喜欢
  • 1970-01-01
  • 2016-06-26
  • 2016-09-04
  • 2016-07-24
  • 2019-11-03
  • 2016-08-28
  • 2019-01-09
  • 2019-04-16
  • 1970-01-01
相关资源
最近更新 更多