Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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
Javascript 角度10:如何关闭预紧器?_Javascript_Angular - Fatal编程技术网

Javascript 角度10:如何关闭预紧器?

Javascript 角度10:如何关闭预紧器?,javascript,angular,Javascript,Angular,我有一个预加载程序,它应该在我收到消息后立即关闭 import { Component, OnInit } from '@angular/core'; import { PreloaderService } from 'src/app/services/preloader.service'; @Component({ selector: 'app-home', templateUrl: './home.component.html', styleUrls: ['./home.com

我有一个预加载程序,它应该在我收到消息后立即关闭

import { Component, OnInit } from '@angular/core';
import { PreloaderService } from 'src/app/services/preloader.service';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.scss'],
})
export class HomeComponent implements OnInit{
  constructor(private preloaderService: PreloaderService) {}
  
  ngOnInit(): void {
    this.preloaderService.showPreloader();
    window.addEventListener('message', function(event) {      
          console.log(event);      
  });
  
  }   
}
使用功能关闭预加载程序

this.preloaderService.hidePreloader();
我的预服务:

import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';

@Injectable({
    providedIn: 'root'
})
export class PreloaderService {
    private isPreloaderVisibleSubject: BehaviorSubject<boolean> = new BehaviorSubject(false);
    private preloaderProgressSubject: BehaviorSubject<number> = new BehaviorSubject(0);

    isPreloaderVisible: Observable<boolean> = this.isPreloaderVisibleSubject.asObservable();
    preloaderProgress: Observable<number> = this.preloaderProgressSubject.asObservable();

    constructor() {}

    updatePreloaderProgress(value: number) {
        this.preloaderProgressSubject.next(value);
    }

    showPreloader() {
        this.isPreloaderVisibleSubject.next(true);
    }

    hidePreloader() {
        this.isPreloaderVisibleSubject.next(false);
    }
}
从'@angular/core'导入{Injectable};
从“rxjs”导入{BehaviorSubject,Observable};
@注射的({
providedIn:'根'
})
导出类预处理服务{
private isPreloadServiceSubject:BehaviorSubject=新的BehaviorSubject(false);
private PrevierProgressSubject:BehaviorSubject=新的BehaviorSubject(0);
ispreloadervible:Observable=this.ispreloaderviblesubject.asObservable();
preforeProgress:Observable=this.preforeProgressSubject.asObservable();
构造函数(){}
updatePreloaderProgress(值:number){
this.prepareProgressSubject.next(值);
}
showpreload(){
this.ispreloadServiceSubject.next(true);
}
hidePreloader(){
this.ispreloadServiceSubject.next(false);
}
}

但我不知道如何将消息和预加载结合起来,如果你的事件意味着它是加载的,那么就这样说:

ngOnInit():void{
this.preforerService.showPreload();
window.addEventListener('message',函数(事件){
this.preforerService.hidePreloader();
}); 
}

尝试下面的代码。我相信这会解决你的问题

ngOnInit(): void {
  var self = this;
  this.preloaderService.showPreloader();
  window.addEventListener('message', function(event) {
    self.preloaderService.hidePreloader();
  }); 
}

确实不清楚您的要求是什么,但我认为您只是想添加
这个.preforerService.hidePreloader()到您拥有的
console.log(事件)的位置属性“PreforerService”在类型“Window”上不存在。16这个.preforerService.hidePreloader()~~~~~~~~~~~~~~~~我不知道什么是
prederservice
。我也看不到你的错误-很难帮助你使用
这个。PreforerService
如果这是你的服务错误,可能你的库有错误?我添加了PreforerService