我写了一个有角度的2分量:
@Component({
templateUrl: ',
selector: 'dino',
templateUrl: './dino.component.html',
styleUrls: ['./dino.component.css']
})
export class DinoComponent {
...
}
它是包含在模态窗口中的图像查看器。
我想在我的应用的不同部分分享此组件,就像服务一样。
如果我在我的应用程序的不同部分使用选择器,它将创建许多 组件的实例是否有内存,对吗?
观看者应该只加载一次,只是图像应该根据不同的网址进行更改,这些网址可以通过遍布我的应用程序的按钮进行访问。
我知道我可以创建一个按要求加载图像的服务,但是如何将模板与模板一起用作服务,以便像菜单,框架等公共部分只加载一次?服务是否可以与其关联的html模板?
如何确保模态查看器是整个应用程序共享的单例?
感谢您的帮助。
答案 0 :(得分:0)
为您的组件和服务创建一个模块,如下所示:
@NgModule({
imports: [
CommonModule
],
declarations: [YourComponent],
exports: [YourComponent]
})
export class TranslationModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: YourModule,
providers: [
YourService
]
};
}
}
在app.module
中,将模块导入所有其他模块中的YourModule.forRoot()
,将其导入为YourModule
。将图像保留在服务中。
这样您的服务就是单身人士。如果您的组件标签被多次使用并不重要。如果不显示它们,则不会渲染它们。