【发布时间】:2020-09-27 23:12:09
【问题描述】:
我发现我的项目使用 ng serve 在我的本地机器上运行良好,但是当我使用 ng build prod 时它不返回模型字段
我使用由 api node.js 填充的以下模型
export class Tenders {
public licitacion: string
public fecha: string
public finaliza: string
public producto: number
public descrip: string
public cantidad: number
public unidad: string
public costo: number
public ultcompra: string
public proveedor: number
public provenom: string
public estado: number
}
我使用下面的代码来填充表格。
async pedirTenders(user) {
if (user) {
// console.log('Tenders')
this.tenderService.getTenders()
.subscribe((resp: Tenders[]) => {
console.log(resp.Tenders)
this.dataSource.data = resp.Tenders
this.dataSource.sort = this.sort
this.dataSource.paginator = this.paginator
this.table.dataSource = this.dataSource
})
}
}
GetHTTP 服务
getActives(): Observable<Tenders[]> {
return this.http.get<Tenders[]>(this.url.baseApiUrl + 'tendersactives', this.getHttpOptions())
}
当我在本地机器上运行 ng serve 时,它会返回 licitacion 字段,因为它在模型中声明 并且可以在下面的控制台屏幕截图中看到
但是当我运行 ng --prod 时,licitacion 字段不会像下面的屏幕截图那样显示
两个请求使用的api是一样的
package.json 使用的是
{
"name": "comprasmat",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve -o",
"build": "ng --build --base-href /",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^10.1.3",
"@angular/cdk": "^10.2.0",
"@angular/common": "^10.1.3",
"@angular/compiler": "^10.1.3",
"@angular/core": "^10.1.3",
"@angular/flex-layout": "^10.0.0-beta.32",
"@angular/forms": "^10.1.3",
"@angular/localize": "^10.1.3",
"@angular/material": "^10.2.0",
"@angular/platform-browser": "^10.1.3",
"@angular/platform-browser-dynamic": "^10.1.3",
"@angular/router": "^10.1.3",
"@mdi/angular-material": "^5.6.55",
"@mdi/font": "^5.6.55",
"@ng-bootstrap/ng-bootstrap": "^7.0.0",
"bootstrap": "^4.5.2",
"jquery": "^3.5.1",
"moment": "^2.27.0",
"popper.js": "^1.16.1",
"rxjs": "^6.5.5",
"tslib": "^2.0.0",
"zone.js": "~0.10.3"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.1000.3",
"@angular/cli": "^10.1.3",
"@angular/compiler-cli": "^10.1.3",
"@angular/language-service": "^10.0.11",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.0.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~3.3.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "~7.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "^3.9.7"
},
"optionalDependencies": {
"fsevents": "^2.1.3"
}
}
提前感谢您的任何建议
亲切的问候
【问题讨论】:
-
这不是一个异步函数....尝试删除异步或其他明智的等待响应:Tenders[] = this.tenderService.getTenders().toPromise();
-
另外请发布您的 HTML
-
删除异步,因为如果你这样做,你需要等待。不用异步就可以了。
标签: angular mongodb build angular-material serve