Ошибка TS2339: свойство «маршрутизатор» не существует для типа «Домашняя страница» - PullRequest
1 голос
/ 07 июня 2019

Я постоянно получаю следующую ошибку:

[ng] ERROR in src/app/home/home.page.ts(34,10): error TS2339: Property 'router' does not exist on type 'HomePage'.

Я пытаюсь соединить Wordpress с Ionic 4 , и до сих пор мне удалось получить последние сообщения с моего сайта. Теперь я хочу сделать их кликабельными и перейти к ним , но я получаю ошибку, упомянутую выше, из-за этого фрагмента в моей home.page.ts

  openPost(postId) {
    this.router.navigateByUrl('/post/' + postId);
  }

Полная страница:

import { Router } from '@angular/router';
import { Component } from '@angular/core';
import { LoadingController } from '@ionic/angular';
import { WordPressRestapiService, Post } from '../services/wordpress-restapi.service';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {

  categoryId: number;
  private posts : Post[] = [];

  constructor(
    public loadingController: LoadingController,
    private wordpressService: WordPressRestapiService) { }

  async ngOnInit() {
    const loading = await this.loadingController.create();
    await loading.present();

    this.loadPosts().subscribe((posts: Post[]) => {
      this.posts = posts
      loading.dismiss();
    });
  }

  loadPosts() {
    return this.wordpressService.getRecentPosts(this.categoryId);
  }
  openPost(postId) {
    this.router.navigateByUrl('/post/' + postId);
  }
}

Я тоже пытался удалить «это», но ничего, что я смог найти на SO, не сработало для меня.Кто-нибудь есть идеи?

1 Ответ

3 голосов
/ 07 июня 2019

Внедрить роутер в конструктор

constructor(
  public loadingController: LoadingController,
  private wordpressService: WordPressRestapiService,
  private router: Router) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...