无法从可注入的

时间:2016-12-22 10:49:39

标签: angularjs parameters components injectable

我正在尝试将组件导入我的注射服务,但似乎我做错了。对于类似情况下的其他页面也会发生这种情况。目前的情况似乎发生,因为我试图导入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 {
}

我正在使用Angular 2.2.1和Ionic 2.0.0-rc.4。

1 个答案:

答案 0 :(得分:0)

content.service.ts

@Injectable()
export class ContentService {...}

SessionService

一样添加此项