title: Angular warning "Warning:Can't resolve all parameters..."
body: <p>I have an Ionic / Angular app which I have just been updating to Ionic 3 / Angular 4. I Have a couple of base classes I use for my pages...</p>
  
  <pre><code>@Injectable()
  export abstract class BasePage {
    constructor(
     userMessageService: UserMessageService,
     logger: Logger,
     translate: TranslateService,    
     derivedClassName: string,    
   ) {
     super(userMessageService, logger, translate, derivedClassName);
     this.data = new Array&lt;T&gt;();
   }
  </code></pre>
  
  <p>After the upgrade, I now get the following warning..</p>
  
  <blockquote>
    <p><code>Warning: Can't resolve all parameters for PageBase in D:/dev/myapp/src/pages/page-base.ts: ([object Object], [object Object], [object Object], ?). This will become an error in Angular v5.x</code></p>
    
    <p><code>Warning: Can't resolve all parameters for CardPageBase in D:/dev/myapp/src/pages/card-page-base.ts: ([object Object], [object Object], [object Object], ?). This will become an error in Angular v5.x</code></p>
  </blockquote>
  
  <p>So it seems it does not like the <code>string</code> argument. All I use this for is for some logging and I just pass it in where I instantiate a class derived from this one..</p>
  
  <p>eg <code>super(userMessageService, logger, translate, 'MyPage');</code></p>
  
  <p>Does anyone know why this looks like it is not going to be possible, and also how can I now pass in such an argument (hopefully without having to have a separate setter of init method)</p>
  
  <p>Thanks in advance for any help!</p>