#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
. (почему это в вашем конструкторе, кстати?)