我的角度项目中有一个简单的组件,直到我最近使用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
感谢。
答案 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) );