在不相关的组件之间传递数据

时间:2017-12-28 07:21:03

标签: angular

我的news-feed.component我有三个组成部分(新闻提要,评论,回复),我这样做:

<div *ngFor="let item of data" id="{{item.post_id}}" class="post_{{item.post_id}}">

//news feed data is fine here but without comments and replys

</div>

我正在寻找这个想法:

<div *ngFor="let item of data" id="{{item.post_id}}" class="post_{{item.post_id}}">

    <app-comment>

     <app-reply></app-reply>

    </app-comment>

<div>

如何将{{item.post_id}}传递给其他组件。

注意:评论和回复组件不是新闻Feed的子项。

1 个答案:

答案 0 :(得分:2)

您正在寻找的是@Input装饰者。在您的子组件中使用它:

// app-comment.component.ts
import { Component, OnInit, Input } from '@angular/core';

@Component(...)
export class AppCommentComponent implements OnInit {
    @Input('someKey') someKey: any;

    constructor() {}

    ngOnInit() {
        console.log(this.someKey);
    }
}

您可以像这样传递数据:

<app-comment [someKey]="'someValue'"></app-comment>