Angular ionic2-组件进入其他页面

Angular ionic2-组件进入其他页面,angular,ionic2,Angular,Ionic2,我有一个组件ProcessStep,它有自己的ts和html文件: import { Component } from '@angular/core'; import { NavController } from 'ionic-angular'; @Component({ selector: 'page-process-step', templateUrl: 'process-step.html' }) export class ProcessStep { totalsteps:num

我有一个组件
ProcessStep
,它有自己的
ts
html
文件:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-process-step',
  templateUrl: 'process-step.html'
})
export class ProcessStep {
totalsteps:number;
steparray:Array<boolean>;
currentstep = 1;

  constructor(public navCtrl: NavController) {}

  ionViewDidLoad() {
    console.log('Hello ProcessStep Page');
  }
  populateStep(n:number){
    for(var i =1; i<=n ; i++){
      this.steparray.push(false);
    }
  }

}
我有一个错误:

异常:./Login类Login\u主机中出错-内联模板:0:0 原因:ProcessStep没有提供程序


如何为
ProcessStep
准备提供程序?

如果
ProcessStep
是其他组件使用的组件,您应该通过
@ViewChild
获得对它的引用

import { ViewChild, AfterViewInit } from '@angular/core';

class Login implements AfterViewInit {
  @ViewChild(ProcessStep) step: ProcessStep;

  ngAfterViewInit() {
    step.populateStep(5);
  }
}

在添加到
@NgModule.providers
:>NavController没有提供程序后,我收到新错误!如何使用共享服务?供应商也是这样吗
ProcessStep
是一个具有少量自定义功能的视图组件。我遵循了@huiting的答案,它是有效的。但是,由于某些原因,
ngFor
不起作用。
import { ViewChild, AfterViewInit } from '@angular/core';

class Login implements AfterViewInit {
  @ViewChild(ProcessStep) step: ProcessStep;

  ngAfterViewInit() {
    step.populateStep(5);
  }
}