通过路由器的局部变量

时间:2016-09-01 08:47:21

标签: angular angular2-routing local-variables

我的主要组件有一个后退按钮,它并不总是可见的(取决于子组件)。如何让它工作?我尝试使用局部变量,没有运气。

在我的app.component.html(父级)中,我有以下内容

<button *ngIf="child.goBackUrl">Back</button>
<router-outlet #child></router-outlet>

在ChildComponent中我有

goBackUrl: string = "test";

这不起作用。我需要一种方法,我可以从父组件访问子变量和方法。如果我尝试从子组件内的父级调用方法,我得到

  

ORIGINAL EXCEPTION:TypeError:self._el_102.goBack不是函数

有什么想法吗?我尝试了一些不同的东西,但没有运气

1 个答案:

答案 0 :(得分:1)

Angular2数据绑定仅适用于静态添加到组件模板的组件和指令(仅限父子)。

对于所有其他情况,请使用https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

中演示的共享服务