这是我的问题,我有app组件,标头组件和home组件。
在应用程序组件模板中我使用<header></header>
来创建标题组件。
现在在home组件中,我想访问并调用header组件的方法。
如果我使用注入来获取Header组件,则注入器将创建一个新实例(似乎组件不是单例)。
如何获取已创建的特定标头组件?
谢谢,
答案 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}}
这将在标题和主页组件中保存所有相同的变量/函数。