2017-01-31 3 views
0

Я пытаюсь добавить статический тип в свой файл .ts, который основан на условном выражении в событии клика, который равен импортированной странице.Статический тип для ионных 2 Page

gotoNext(pageData) { 
     this.conditionalPage = pageData.hasList ? ListPage : NoListPage; 
     this.navCtrl.push(this.conditionalPage, pageData); 
    } 

В верхней части файла .ts я есть

import { ListPage, NoListPage } from '../../collections/app.pages'; 

@Component({ 
    selector: 'page-program', 
    templateUrl: 'program.html' 
}) 
export class ProgramPage { 

    conditionalPage: any; // I would prefer this not to be any 
    ... 

Я хочу изменить any представлять страницу ионную 2, типа просто не слишком уверены, какой тип он.

ответ

1

Я думаю ionic2 страницы angular2 компонент, так что вы можете использовать:

conditionalPage: Component; 

но ionic2 учебник использовать any как тип:

conditionalPage: any; 
+0

ли это изменить? Потому что если я делаю 'this.navCtrl.push (conditionalPage)', он говорит мне: 'Аргумент типа 'Компонент' не присваивается параметру type 'string | Страница». Тип «Компонент» не присваивается типу «Страница». Свойство «apply» отсутствует в типе «Компонент». Я попытался импортировать тип страницы из Ionic, но он не экспортируется. Таким образом, возврат к типу 'any' кажется единственным способом. – barney765

+0

Я всегда использую любые, но спасибо за вашу информацию. –

1

Типа вы ищете Component.

Try:

conditionalPage:Component; 
Смежные вопросы