[英]angular component and helper service or helper class
我是角度5的新手。
我正在尝试构建具有很多逻辑的组件,该组件为可以在HTML中显示的数据做准备。
据我所知-这个逻辑应该从部件为了不触发更改跟踪移动到其他地方(因为它说, 这里的风格指南)
我这个其他地方应该是服务班或助手班吗? 如果提供服务,是否应将其添加到该组件的组件模块的“提供者”或组件本身的“提供者”?
@Component({
selector: 'filters-bar',
templateUrl: './filters-bar.component.html',
styleUrls: ['./filters-bar.component.scss'],
providers:[FiltersFromQueryService]
})
谢谢
如果该类仅在一个组件中使用,则将其用作普通类(帮助类或我称为“查看对象”)。 您不能将它们注入组件中,但是可以在每次初始化时创建新实例: this.viewObject = new ViewObject();
如果在多个组件中使用它,则应将其投入使用,以便可以将其注入多个组件中(仅初始化一次,单例)。
提供程序通常是单调对象。
当用@Injectable()注释时,这是:
@Component({})
class Cmp {
constructor() {
this.yourService= new YourService(...);
}
}
...可以这样写:
@Component({
..
providers: [YourService]
})
...或像这样:
@Component({})
class Cmp {
constructor(private yourService: YourService ) {
}
}
是否单身
您提供多少个注入对象确定将创建多少个实例(仅在实际请求时实例化)。
如果您要为整个应用程序使用一个实例,则在根组件处(或使用bootstrap(AppComponent,[...])仅提供一次可注入的操作,这将导致相同的行为。
如果要为每个组件A提供一个新实例,则将其添加到组件A的提供程序中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.