我有此错误:错误TS2339:类型上不存在属性

时间:2019-04-01 12:29:09

标签: angular

我有此错误:  错误TS2339:类型“ ConfigComponent”上不存在属性“ getConfig” 这是我的文件config.component.ts:

import { Component, OnInit } from '@angular/core';

import { ConfigService } from '../config.service';

@Component({
  selector: 'app-config',
  templateUrl: './config.component.html',
  styleUrls: ['./config.component.css']
})

export class ConfigComponent implements OnInit {

  constructor(private configService : ConfigService) { }

  ngOnInit() {
    this.getConfig();
  }

  showConfig() {
    this.configService.getConfig()
      .subscribe((data: any) => this.config = {
          heroesUrl: data['heroesUrl'],
          textfile:  data['textfile']
      });
  }
}

这是我的文件config.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class ConfigService {
  configUrl = 'assets/config.json';
  constructor(private http: HttpClient) { }

  getConfig() {
    return this.http.get(this.configUrl);
  }

}

这是我的文件config.json

{
  "heroesUrl": "http://localhost:3000/Entrees",
  "textfile": "assets/textfile.txt"
}

我不明白为什么会出现此错误。在CMD中,我有此错误:

  src / app / config / config.component.ts(16,10)中的

ERROR:错误TS2339:   类型“ ConfigComponent”上不存在属性“ getConfig”。       src / app / config / config.component.ts(21,38):错误TS2339:类型“ ConfigComponent”上不存在属性“ config”。

2 个答案:

答案 0 :(得分:2)

ConfigComponent 中,您应该将方法更改为 showConfig

ngOnInit() {
    this.showConfig();
}

答案 1 :(得分:0)

它认为您错过了在类上声明config变量和在showConfig中调用getConfig而不是ConfigComponent的声明

constructor(private configService : ConfigService, private config: <Config>) { }

ngOnInit() {
    this.showConfig();
}