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
Angular 角度传递参数到服务_Angular_Service - Fatal编程技术网

Angular 角度传递参数到服务

Angular 角度传递参数到服务,angular,service,Angular,Service,我的服务> export class MediaService { private matches = new ReplaySubject<boolean>(1); public match$ = this.matches.asObservable(); constructor(public readonly query: string) { if (window) { const mediaQueryList = window.matchMedi

我的服务>

 export class MediaService {
  private matches = new ReplaySubject<boolean>(1);
  public match$ = this.matches.asObservable();

  constructor(public readonly query: string) {
    if (window) {
      const mediaQueryList = window.matchMedia(this.query);
      const listener = event => this.matches.next(event.matches);
      listener(mediaQueryList);
      mediaQueryList.addEventListener('change', listener);
    }
  }
}
错误:无法解析MediaService的所有参数

如果我调用服务但不传递任何参数,如果我在服务上设置值,它就会工作,例如

媒体服务文件

const mediaQueryList = window.matchMedia((min-width: 768px)');
我已尝试使用@Inject将参数传递到服务中:

constructor(@inject('query') private query: string) {}
食品成分

class FooBarComponent implements OnInit {
  isDesktop: boolean;
  private mediaService = new MediaService('(min-width: 768px)');

  constructor(private mediaService:MediaService )

  ngOnInit() {
    this.mediaService.match$.subscribe(value => this.isDesktop = value);
  }
}
provider: [
{provider: 'query', useValue: 'query',
]
但是不起作用!!!
参考资料:

你到底想做什么?docs示例也可以很好地工作,docs示例没有在组件中注入服务。您正在将其注入构造函数。@GusSL我不再收到错误,但是使用新的MediaService(“(最小宽度:768px)”传递时,参数值不起作用,那么我如何使用服务呢?不起作用是什么意思?这会给你一个错误吗?手动更改参数时,例如在
FooBarComponent
中更改为
”(最小宽度:100px)
,其工作正常。您想动态更改
768px
值吗?我想project build可能有问题,我重新启动了我的机器,现在evrething正在工作,我在尝试升级时损失了2个多小时,谢谢您的帮助!