Я пытаюсь создать приложение для блога, используя Angular во внешнем интерфейсе с узлом, express во внутреннем интерфейсе и mongodb в качестве базы данных. Сейчас я пытаюсь создать компонент под названием blog-Categories, в котором должен быть метод для итерации всей базы данных и поиска по ключевой категории и возврата значений в компоненте таким образом, чтобы все значения категории были теперь отображается в компоненте, и когда кто-то щелкает значения, отображаются все блоги с такими категориями. Если вы хотите лучше взглянуть на проект, вы можете проверить мой git репозиторий https://github.com/tridibc2/blog-admin-mean. Но похоже, что трасса не способна поймать категорию. В шапке он обнуляется. localhost: 4000 / api / v1 / blogs / view / by / category / null Типичная база данных выглядит примерно так:
{
"error": false,
"message": "All Blogs found Successfully",
"status": 200,
"data": [
{
"title": "Blog Title 2 Custom edited",
"description": "Blog description 2 Custom Edited",
"bodyHtml": "<h3>Heading of the body CUSTOM</h3><p>This is the first blog data getting uploaded n blog project</p>\nedited",
"views": 9,
"isPublished": true,
"category": "Comedy",
"author": "Decardo",
"tags": [
"english movies, action movies, comedy"
],
"blogId": "nbfO8hJp",
"created": "2020-01-04T23:33:38.000Z",
"lastModified": "2020-01-04T23:33:38.000Z"
},
{
"title": "Blog Title 2",
"description": "Blog description 2",
"bodyHtml": "",
"views": 1,
"isPublished": true,
"category": "tech",
"author": "Xtremator",
"tags": [
"english movies",
" action movies",
" comedy"
],
"blogId": "ZW8OR7vc",
"created": "2020-01-04T23:34:08.000Z",
"lastModified": "2020-01-04T23:34:08.000Z"
}
]
}
blog-category.component.ts
import { Component, OnInit } from '@angular/core';
import { BlogpostService } from '../blogpost.service';
import { Router, ActivatedRoute} from '@angular/router';
@Component({
selector: 'app-blog-category',
templateUrl: './blog-category.component.html',
styleUrls: ['./blog-category.component.css']
})
export class BlogCategoryComponent implements OnInit {
public categories;
constructor(private blogpostService: BlogpostService, private route: ActivatedRoute,
private router: Router) { }
ngOnInit() {
let myBlogcatrgory = this.route.snapshot.paramMap.get('category');
this.blogpostService.viewByCategory(myBlogcatrgory).subscribe(
data =>{
console.log(data);
this.categories = data["category"];
},
error =>{
console.log("some error occured");
console.log(error.errorMessage);
}
);
}
}
blog-category.component. html
<h3>Categories</h3>
<ul>
<li *ngFor="let category of categories">
{{category.name}}
</li>
</ul>
</div>