在Ionic 2 Beta中通过ViewChild导航

jar*_*ink 1 routing ionic2 angular

他们刚刚更新了Ionic 2以使用Angular 2 RC1,这很棒,除了路由对我来说仍然有点奇怪.我试图跟随更新指南,但我的导航仍未定义.旧的getComponent方法有效,但是他们通过此更新摆脱了这种方法.它适用于组件或页面,但不适用于服务.

我得到的错误是 No provider for NavController!

import {IonicApp, NavController, Nav} from 'ionic-angular';
import {Injectable, ViewChild} from '@angular/core';
import {Http, HTTP_PROVIDERS, Headers} from '@angular/http';
import {HomePage} from '../pages/home/home';

@Injectable()
export class User {
  isLoggedIn: boolean = false;
  username: string = 'jaruesink';
  constructor (public nav: NavController) {
  }
  login(username) {
    this.isLoggedIn = true;
    this.username = username;
    this.nav.push(HomePage);
  }
  logout() {
    this.isLoggedIn = false;
  }
}
Run Code Online (Sandbox Code Playgroud)

nun*_*uda 8

使用getActiveNav().

import {App} from 'ionic-angular';
...
constructor(private app: App) {}
...
let nav = this.app.getActiveNav();
nav.push(LoginPage);
Run Code Online (Sandbox Code Playgroud)

  • 请删除此答案,因为从beta 7开始不再可能. (2认同)