Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2中的组件交互作用_Angular_Web Component - Fatal编程技术网

Angular2中的组件交互作用

Angular2中的组件交互作用,angular,web-component,Angular,Web Component,这是我的问题,我有应用程序组件,标题组件和主页组件。 应用程序内组件模板我正在使用制作标题组件 现在在home组件中,我想访问并调用header组件的方法 如果我使用injection来抓取Header组件,那么injector将创建一个新实例(看起来组件不是单例) 如何获得已创建的特定标题组件 谢谢,如果你想让你的头组件成为一个单一组件,你必须把它添加到你的引导程序中。不过,我不完全确定这是否是你要问的问题。听起来您想使用服务而不是组件 我要做的是创建一个服务,然后在组件中调用它。您可以将服务

这是我的问题,我有应用程序组件,标题组件和主页组件。 应用程序内组件模板我正在使用
制作标题组件

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

如果我使用injection来抓取Header组件,那么injector将创建一个新实例(看起来组件不是单例)

如何获得已创建的特定标题组件


谢谢,

如果你想让你的头组件成为一个单一组件,你必须把它添加到你的引导程序中。不过,我不完全确定这是否是你要问的问题。听起来您想使用服务而不是组件

我要做的是创建一个服务,然后在组件中调用它。您可以将服务视为一个类,其中包含一系列函数调用(服务)。然后您需要将它们放入每个组件中,例如:

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

@Component{....} 
export class Header{

   constructor(private _my_global_service: My_Global_Service){}

}
然后,您将引导您的
My_Global_服务
,使其成为整个应用程序中的“单例”实例

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){}

}

这将在header和home组件中保存所有相同的变量/函数。

如果您希望header组件仅为单一组件,则必须将其添加到引导中。不过,我不完全确定这是否是你要问的问题。听起来您想使用服务而不是组件

我要做的是创建一个服务,然后在组件中调用它。您可以将服务视为一个类,其中包含一系列函数调用(服务)。然后您需要将它们放入每个组件中,例如:

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

@Component{....} 
export class Header{

   constructor(private _my_global_service: My_Global_Service){}

}
然后,您将引导您的
My_Global_服务
,使其成为整个应用程序中的“单例”实例

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){}

}
这将在header和home组件中保存所有相同的变量/函数