如何在angular2中将对象从一个组件传递到另一个组件?

时间:2016-12-14 17:03:25

标签: angular components

我有一个包含一些项目的组件。当我点击项目时,我想在另一个组件中显示他的内容。我怎么能这样做?感谢。

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点。

  1. 通过service提供“项目”对象,并将该服务注入两个组件,并通过angular2 router使用路由参数。然后,您可以使用ActivatedRoute Param s(import { ActivatedRoute, Params } from '@angular/router';)通过服务中“项目”的索引检索“项目”。

  2. 创建一个可以容纳“项目”的全局对象。使用服务将Observable返回到该对象并将其注入两个组件。您可以存储集合并从可观察对象中检索对象。

  3. 根据您的确切需要,两者的某些组合最好

  4. 代码:

    @Injectable()
    export class ProjectsService {
      getProjects(): Observable<Project[]> {
        return Observable.of(PROJECTS);
     }
    }
    const PROJECTS = [/*your projects here*/]
    

    简而言之,您需要创建一个服务来处理数据。