Я изучаю маршруты в Angular. Я следую некоторым учебникам от Pluralsight. Вот stackblitz для того же самого. Я попробовал очень простой c код, чтобы понять маршрутизацию. Но я получаю эту ошибку:
"Неожиданное значение 'PostList' объявлено модулем 'PostModule'. Пожалуйста, добавьте аннотацию @ Pipe / @ Directive / @ Component."
Я отладил код, и вот виновник:
post-list.component.ts
import { PostService } from './post.service';
export class PostList {
constrcutor(private postservice: PostService) {
postservice.getAllPosts();
}
}
Я пытаюсь прочитать сообщения, которые где-то уже хранятся (я использую JSONPlaceholder). Я хочу показать все сообщения на одной странице, а затем по событию клика я хочу перейти к деталям этого конкретного сообщения. Вот мой:
post.service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class PostService {
constructor() {}
getAllPosts() {
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json())
.then(json => console.log(json))
}
}
и вот мой: post.module.ts
import { NgModule } from '@angular/core';
import { PostDetails } from './post-details.component';
import { PostList } from './post-list.component';
import { RouterModule } from '@angular/router';
@NgModule({
imports:[
RouterModule.forChild([
{path: 'posts', component: PostList},
{path: 'posts/:id', component: PostDetails}
])
],
declarations:[PostList, PostDetails]
})
export class PostModule {}
Моя проблема - Маршрутизация. Я не могу правильно установить маршруты. Я создал stackblitz для того же самого. Пожалуйста, укажите на мои ошибки. Я действительно хочу научиться Angular со всеми лучшими практиками. Пожалуйста, поправьте меня.