1

注入可能なサービスにコンポーネントをインポートしようとしていますが、何か間違っているようです。これは、同様の状況にある他のページでも発生します。現在の状況は、SessionService にインポートしようとしている LoginPage が SessionService を必要としているために発生しているようですが、どこかで無限ループの匂いがします。注入可能なSessionServiceにページコンポーネントを含めない以外に、どのように解決すべきかについてのアイデアはありますか?

現在のアーキテクチャは、セッションが存在しない場合にログイン ページにリダイレクトする必要があるように構築されています。Ionic NavController には、ナビゲーション スタックにプッシュするためのページ コンポーネントが必要です。リダイレクトの問題を解決する別の方法は大歓迎ですが、なぜこれが起こっているのかを理解したいと思います.

Uncaught Error: Can't resolve all parameters for LoginPage: (?, ContentService).

session.service.ts

@Injectable()
export class SessionService {
    constructor(private content: ContentService) {}
}

login.page.ts

@Component({
  templateUrl: './login.page.html'
})
export class LoginPage {
  constructor(public session: SessionService,
              public content: ContentService) {
  }

そしてそれを要求した人のために、content.service.ts

@Injectable()
export class ContentService {
  constructor(private authHttp: AuthHttp) {
  }
}

app.module.ts

@NgModule({
  declarations: [
    LoginPage
  ],
  entryComponents: [
    LoginPage
  ],
  providers: [
    SessionService,
    ContentService
  ]
})
export class AppModule {
}

Ionic 2.0.0-rc.4 で Angular 2.2.1 を使用しています。

4

1 に答える 1