角度/节点 - 属性'文本'类型' {} |上不存在响应'

时间:2018-02-22 11:54:58

标签: node.js angular npm

我的角度项目中有一个简单的组件,直到我最近使用package.json进行了一些更改,从4.2.4降级到4.1.3,npm install然后返回到4.2.4 ...现在我和#39;在构建项目时遇到此错误:

  

$ ng build   您的全局Angular CLI版本(1.5.0)大于您的本地版本   版本(1.4.9)。使用本地Angular CLI版本。

     

要禁用此警告,请使用" ng set --global warnings.versionMismatch = false"。   日期:2018-02-22T11:38:57.826Z   哈希:60271d03b90ff65e3d81   时间:3114毫秒   chunk {inline} inline.bundle.js,inline.bundle.js.map(inline)5.83 kB [entry] [rendered]   chunk {main} main.bundle.js,main.bundle.js.map(main)303字节[initial] [rendered]   chunk {polyfills} polyfills.bundle.js,polyfills.bundle.js.map(polyfills)323字节{inline} [initial] [rendered]   chunk {styles} styles.bundle.js,styles.bundle.js.map(styles)11.3 kB {inline} [initial] [rendered]

     

C中的错误:/workspace/DataFab/dev/ResourcesManagement/web/ResourceManagerWebClient/src/app/components/about/about.component.ts(16,49):Property' text'类型' {} |上不存在响应&#39 ;.     财产'文字'类型' {}'。

上不存在

组件:

import { Component, OnInit, EventEmitter } from '@angular/core';
import { ResourcesService } from '../../services/resources.service';
@Component({
  selector: 'app-about',
  templateUrl: './about.component.html',
  styleUrls: ['./about.component.css']
})
export class AboutComponent implements OnInit {
  version;
  constructor(private resourcesService: ResourcesService) { 
this.version = resourcesService.getVersion()
    .subscribe( data => this.version = data.text(), error => console.log(error) ).toString();
  }

如何恢复? 它与角度版本有关吗? npm版本?

我将npm更新为最新版本,但它没有帮助:

  

$ npm -v   5.6.0

感谢。

1 个答案:

答案 0 :(得分:1)

this.version = resourcesService.getVersion()
.subscribe( data => this.version = data.text(), error => console.log(error) ).toString(); }

这与打字有关。

只需添加类型:任何数据:

this.version = resourcesService.getVersion()
.subscribe( data:any => this.version = data.text(), error => console.log(error) ).toString();

}

您也可以使用界面键入您的回复,例如:

export interface ResponseI {
    text: string;
    something: any;
}

并在您的服务中使用它:

return this.http.get<ResponseI>(...);

在这种情况下,您不应该将数据定义为任何类型,并且可以像在您的示例中一样使用它:

this.version = resourcesService.getVersion()
.subscribe( data => this.version = data.text(), error => console.log(error) ).toString();

}

还有一个。更好的代码是:

resourcesService.getVersion()
    .subscribe( data:any => this.version = data.text(), error => 
       console.log(error) );