У меня есть приложение Angular 7, которое извлекает данные из двух отдельных конечных точек:
http://localhost:1337/sms
http://localhost:1337/total
Я могууспешно сделать запрос GET к этим конечным точкам в разработке.Тем не менее, я получаю следующую ошибку при запуске ng build --prod
:
ERROR in src/app/app.component.html(20,29): : Property 'total' does not exist on type 'object'.
В качестве теста я временно удалил {{ total.total }}
из app.component.html, снова запустил ng build --prod
и это сработало.
Разве это не правильный способ делать запросы GET к двум отдельным конечным точкам или я делаю что-то еще неправильно, возможно, в моем файле сервера Node?
app.component.ts
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
signees: object;
total: object;
constructor(private http: HttpClient){}
ngOnInit(): void {
this.http.get('http://localhost:1337/sms').subscribe(
data => {
this.signees = data;
}
);
this.http.get('http://localhost:1337/total').subscribe(
data => {
this.total = data;
}
);
}
}
Соответствующий app.component.html код
<section class="page-section mx-auto">
<h3 class="text-center">{{ total.total }} people have signed the petition</h3>
<div class="container">
<div class="row">
<div class="col-sm-6 col-lg-3"
*ngFor="let signee of signees; index as i">
<div class="card">
<div class="card-body">
<p class="h2">{{ signee.name }}</p>
<ul class="signee-meta text-muted">
<li>#{{ i + 1 }}</li>
<li>{{ signee.date }}</li>
</ul>
</div>
</div>
</div>
</div><!-- row -->
</div><!-- container -->
</section>
/total
конечная точка (MongoDB)
app.get('/total', (req, res) => {
collection.countDocuments({}, function(err, num) {
assert.equal(null, err);
res.send({total: num});
});
});
EDIT (добавлена структура данных)
Структура данных (MongoDB)
{
"_id" : ObjectId("5c61e0b658261f10280b5b17"),
"name" : "Bill Kickok",
"number" : "+14950395584",
"date" : "2/11/19"
}