【问题标题】:Biding on a variable which value comes from a service can't be seen看不到值来自服务的变量的出价
【发布时间】:2021-10-03 19:33:39
【问题描述】:

一开始,我使用了一个服务,它给了我一个字符串,我将它保存在变量中,并使用大括号在 HTML 上显示它,但我没有看到值,我已经测试了服务和值来自后端,所以我认为这种情况是由于生命周期。我尝试了ngOnInit 和ngAfterViewInit,但我无法获得价值。

elCodigoInterno: string;

  ngOnInit() {
    this.iniciarFormulario();   

    this.dataService.getCodigoInterno().subscribe(
      //result => this.colaborador.codigoInterno = result,
      result => this.elCodigoInterno = result,
      error => console.log('error ', error)
    );       
  }

  ngAfterViewInit(){
    this.dataService.getCodigoInterno().subscribe(
      //result => this.colaborador.codigoInterno = result,
      result => this.elCodigoInterno = result,
      error => console.log('error ', error)
    ); 
  }

<label for="codigoInterno">Código Interno </label>      
<p>{{elCodigoInterno}} </p>

【问题讨论】:

    标签: angular binding livecycle


    【解决方案1】:

    如果你在dataService中创建一个公共变量,然后在getCodigoInterno方法中赋值给这个变量,就可以得到你想要得到的值。

    我可以举个例子

    ///// 服务

    export class LocationService {
      public locationlist: Location[] | any;
      public location: Location | any;
      constructor(private http: HttpClient) { }
    
    
      public getAllLocation(): Observable<Location[]> {
        return this.http.get<ApiResponse>(environment.locationApiUrl, {}).pipe(
          map(
            (response: ApiResponse) => {
              return this.locationlist = response.content;
            }
          )
        );
      }
    }
    

    ///// 组件

     public location;
          constructor(private locationService: LocationService) { }
        
          ngOnInit(): void {
            this.location = this.locationService.locationlist[0].id;
          }
          public getAlllocations() {
          this.locationService.getAllLocation().subscribe(location => {
          ...
          });
       }
    

    【讨论】:

      猜你喜欢
      • 2019-10-13
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多