# Can't resolve all parameters for

**URL:** <https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236>\
**Category:** ionic-v3\
**Created:** [February 2, 2017, 8:39pm UTC](https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236 "2017-02-02T20:39:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SergeGir](https://avatars.discourse-cdn.com/v4/letter/s/f14d63/32.png) [@SergeGir](https://forum.ionicframework.com/u/SergeGir)\
**Post date:** [February 2, 2017, 8:39pm UTC](https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236/1 "2017-02-02T20:39:33Z")

</div>

I have _Local_ service:

```
import { Injectable } from "@angular/core";
import { Storage } from "@ionic/storage";
import { Globals } from "./globals";
import { Api } from "./api";
import { Page2 } from "../pages/page2/page2";
import { CategoryPage } from "../pages/category/category";
import { RegPage } from "../pages/reg/reg";
import { LoginPage } from "../pages/login/login";
import { AccountPage } from "../pages/account/account";
import { BasketPage } from "../pages/basket/basket";

@Injectable()
export class Local{

  constructor(public st : Storage, public gl : Globals, public api : Api){
  }

  public getToken(){
    return this.st.get('token');
  }

  public removeToken(){
    return this.st.remove('token');
  }

  public setToken(token){
    this.st.set('token', token);
  }

  public makeMainMenu(mode : boolean){ // mode: true - logged
    this.api.getCategories().then(cats =>{

      this.gl.mainMenu = [];
      if(!mode){
        this.gl.mainMenu.push({title : 'Login', component : LoginPage});
        this.gl.mainMenu.push({title : 'Register', component : RegPage});
      }

      for(let i = 0; i < cats.length; i++){
        this.gl.mainMenu.push({
          title : cats[i].name,
          component : CategoryPage,
          params : {cat : cats[i].id, name : cats[i].name}
        });
      }

      if(mode){
        this.gl.mainMenu.push({title : 'Account', component : AccountPage});
        this.gl.mainMenu.push({title : 'Basket', component : BasketPage});
      }

      this.gl.mainMenu.push({title : 'About', component : Page2});

    }, err =>{
      console.log(err);
    });

  }

}

```

When trying to inject it into component  
_LoginPage.ts_

```
constructor(public navCtrl: NavController, public navParams: NavParams, public local: Local, public api: Api, public fb: FormBuilder

```

i get:

```
Uncaught Error: Can't resolve all parameters for LoginPage: (NavController, NavParams, ?, Api, FormBuilder)

```

_Global service:_

```
import { Injectable } from '@angular/core';

@Injectable()
export class Globals {
  public mainMenu: any[];
  public user: any;

  constructor() {}

}

```

_Api service_

```
import { Injectable } from '@angular/core';
import { Http, Headers } from '@angular/http';
import 'rxjs';

@Injectable()
export class Api {

  constructor(public http: Http) {
    console.log('Hello Api Provider');
  }

  public login(loginData){
    console.log(loginData);
    let headers = new Headers();
    return this.http.post('http://<site>/api/login', loginData, {headers: headers}).map(res => res.json()).toPromise();
  }

  public register(data){
    console.log(data);
    let headers = new Headers();
    return this.http.post('http://<site>/api/register', data, {headers: headers}).map(res => res.json()).toPromise();
  }
}

```

Whats wrong with service _Local_? in rc.5 it worked

When i remove function makeMainMenu - everything is ok

---

<div class="post-metadata">

**Author:** ![rapropos](https://sea1.discourse-cdn.com/ionicframework/user_avatar/forum.ionicframework.com/rapropos/32/100227_2.png) [@rapropos](https://forum.ionicframework.com/u/rapropos)\
**Post date:** [February 2, 2017, 9:14pm UTC](https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236/2 "2017-02-02T21:14:08Z")

</div>

It looks like `Local` and `LoginPage` have a circular dependency. You can try using `forwardRef` to break it.

---

<div class="post-metadata">

**Author:** ![SergeGir](https://avatars.discourse-cdn.com/v4/letter/s/f14d63/32.png) [@SergeGir](https://forum.ionicframework.com/u/SergeGir)\
**Post date:** [February 3, 2017, 4:09am UTC](https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236/3 "2017-02-03T04:09:08Z")

</div>

You are right. I removed  
`import { LoginPage } from "../pages/login/login";`  
from `Local` and everything is ok  
Thanks a lot.

---

<div class="post-metadata">

**Author:** ![netwoven](https://avatars.discourse-cdn.com/v4/letter/n/b19c9b/32.png) [@netwoven](https://forum.ionicframework.com/u/netwoven)\
**Post date:** [May 25, 2017, 2:11am UTC](https://forum.ionicframework.com/t/cant-resolve-all-parameters-for/78236/4 "2017-05-25T02:11:49Z")

</div>

I also came across the same situation. It was because of circular dependency. Removed the circular dependency and it worked fine.
