Angular 2延迟加载 - 输入/输出

时间:2016-10-14 06:50:06

标签: angular lazy-loading angular2-routing

我正在尝试将输入/输出传递给延迟加载的组件,但我不确定 我该怎么做。

如果它没有延迟加载,我知道我可以这样做。

test.ts

testdata: string;

ngOnInit(){
  this.testdata = "TEST";
}

的test.html

<test-component [data]="testdata"></test-component>

testcomponent.ts

@Input() data: string;

但是如果 testcomponent 是延迟加载并且我有这样的东西呢?

当用户进入特定路径时,

testcomponent 被加载。

的test.html

<router-outlet></router-outlet>

2 个答案:

答案 0 :(得分:1)

您可以使用以下其中一项:

  1. 使用查询字符串将数据传递给延迟加载的组件;或

  2. 使用共享服务从主组件传递数据并将数据存储在变量中,当加载惰性组件时,只需在onInit函数

    <中读取此变量的值/ LI>

答案 1 :(得分:0)

无法使用路由器添加的组件绑定或struct Node { int i; int height; Node* *nodes; Node(int h) { nodes = new Node*[h]; height = h; } ~Node() { delete [] nodes; } };

使用共享服务与不是直接父子的组件进行通信,如https://angular.io/docs/ts/latest/cookbook/component-communication.html中所述