【问题标题】:Accessing Component a from component b and setting its properties从组件 b 访问组件 a 并设置其属性
【发布时间】:2016-12-21 20:26:48
【问题描述】:

我有两个组件都使用我创建的同一个服务

   #Component A
        @Component({
  templateUrl:          'build/pages/templateReunionCourse/templateReunionCourse.html',
  providers: [
    ReunionService,JSONP_PROVIDERS
  ]
})
export class Reunion{
    month: any;
     constructor(private loadingController: LoadingController,private navCtrl: NavController, public reunionService: ReunionService, public cmpB: ComponentB) 
  {

     this.month = new Date().toDateString();  

  } 
    onClickItem(string: any){
        this.cmpB.data=string;
    this.navCtrl.setRoot(Courses);

}
}

#组件B @零件({ templateUrl: 'build/pages/courses/courses.html', 提供者:[ReunionService] }) 导出类课程{ 日期:任何; 数据:任何; 构造函数(私有 loadingController:LoadingController,私有 navCtrl:NavController,公共 courseService:ReunionService){ this.Date = new Date().toDateString(); this.presentLoading(); this.loadRaces();

  }
}

当我尝试跑步时。我收到错误 No provider for Component A

任何见解或替代方法将不胜感激。我的目标是从组件 A 中设置组件 B 中的数据,以便当我将组件 B 推到前面时,我可以查看该数据

【问题讨论】:

  • 可以只使用静态参数和函数吗?提供者问题是应用程序的引导问题
  • 如何声明静态参数。我是 Ionic 和 Angular JS 的新手
  • 公共静态参数:字符串;你可以直接访问,比如 classname.param = 'foo';
  • 似乎不是最佳实践,但效果很好。谢谢米莎
  • 你是对的,它不是,但它的简单和廉价的性能明智。我相信您稍后会弄清楚如何使用提供者来完成

标签: angular typescript ionic-framework ionic2


【解决方案1】:

好吧,我回来花了我一段时间,但我用我认为更好的做法解决了这个问题。 我创建了一个无视图组件。创建了我想要的变量所以这个当前的无视图组件就像组件之间的总线(桥)。然后离子在我的父组件中引导它们,同时在子组件中注入。它存储资源的状态。如果有人需要代码帮助,只需 ping

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 1970-01-01
    • 2019-05-13
    相关资源
    最近更新 更多