Angular2中的组件交互

时间:2016-03-17 01:22:13

标签: angular web-component

这是我的问题,我有app组件,标头组件和home组件。 在应用程序组件模板中我使用<header></header>来创建标题组件。

现在在home组件中,我想访问并调用header组件的方法。

如果我使用注入来获取Header组件,则注入器将创建一个新实例(似乎组件不是单例)。

如何获取已创建的特定标头组件?

谢谢,

1 个答案:

答案 0 :(得分:2)

如果您希望标题组件只是单个组件,则必须将其添加到引导程序中。我不确定这是不是你问的问题。听起来你想要使用服务而不是组件。

我要做的是制作一个服务,然后在组件中调用。您可以将服务视为一个具有大量函数调用(服务)的类。然后你需要将它们放入每个组件中,例如:

My_Global_Service

然后你会引导你的import {bootstrap} from 'angular2/platform/browser'; import {My_Global_Service} from './global_services/MyService' bootstrap(MyApp, [ My_Global_Service ]) ,这样它就会成为一个单身人士。整个申请中的实例。

import {My_Global_Service} from './global_services/MyService'

@Component{....} 
export class Home{

   constructor(private _my_global_service: My_Global_Service){}

}

然后你可以从家庭组件中调用同样的服务:

{{1}}

这将在标题和主页组件中保存所有相同的变量/函数。