ионная навигация 2 не работает с аргументами

#typescript #ionic-framework #ionic2

#typescript #ionic-framework #ionic2

Вопрос:

Я получил ссылку на работу, не пытаясь получить доступ к ее аргументам:

 //home.ts
import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';

import {FishPage} from '../fish';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html',
  providers: [FishPage]
})
export class HomePage {
  constructor(public navCtrl: NavController, private goFish: FishPage,) {
       this.goFish = FishPage;
  }

  playPoker(){
    this.navCtrl.push(FishPage, {
        drag: 'ichabod'
    });
  }

}
  

Ссылка работает до тех пор, пока я не добавлю код FishPage для доступа к переданной информации. Вот FishPage:

 import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';

@Component({
  templateUrl: 'fish.html'
})
export class FishPage {
  constructor(public navCtrl: NavController, public navParams: NavParams) {
    let param = this.navParams.get('drag');
  }
}
  

По какой-то причине код возвращает эту ошибку:

[14:18:36] Ошибка: src/pages/home/home.ts(16,4): ошибка TS2322: тип ‘typeof FishPage’ не может быть присвоен типу ‘FishPage’. Свойство ‘navCtrl’ отсутствует в типе ‘typeof FishPage’

Комментарии:

1. Удалите fishpage у поставщиков. Провайдеры должны иметь сервисы

2. ^^ и поскольку вы используете ionic 2 RC0 (поскольку вы работаете в src ), измените private ключевое слово в конструкторе на public . (почему это в вашем конструкторе, кстати?)