我正在使用Ionic 2构建应用程序并遇到了问题。任何帮助都会非常感激。
我正在使用一个名为plan-data.ts
的服务来获取并将数据发布到firebase数据库。我遇到的问题是,当我尝试导入并在几个上声明plan-data.ts
文件时具体组件,它出错了。在下面的页面上它工作正常!
**DASHBOARD.ts**
import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { PlanData } from '../../providers/plan-data/plan-data';
@Component({
templateUrl: 'build/pages/dashboard/dashboard.html',
providers: [PlanData]
})
export class DashboardPage {
constructor(private navCTRL: NavController, public planData: PlanData){
this.planData = planData;
this.loadList();
}
...
}
但是在这个文件中,当我尝试导入并将其声明为provider
时,它会失败并显示错误:Cannot read property 'parameters' of undefined
。
**STOPWATCH.ts**
import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { PlanData } from '../../providers/plan-data/plan-data';
@Component({
templateUrl: 'build/pages/watch-calc/watch-calc.html',
providers: [PlanData]
})
export class WatchCalcPage {
constructor(private navCTRL: NavController, public planData: PlanData) {
this.planData = planData;
}
我似乎无法弄清楚第二页上有什么不同或错误,似乎找不到任何人遇到这个问题,这意味着我可能没有看到简单的事情。建议会非常有帮助,谢谢!
答案 0 :(得分:0)
我正在使用名为plan-data.ts的服务来获取和发布数据 firebase数据库
您有意想要在每个页面中创建PlanData
类的新实例吗?通过在DashboardPage
和WatchCalcPage
的提供者数组中添加它,将为每个页面创建不同的实例。
为了在整个应用程序中使用相同的实例,您应该在最顶层组件的providers数组中包含PlanData
类,如下所示:
@Component({
templateUrl: 'build/app.html',
providers: [PlanData, ...]
})
export class MyApp { ... }
然后将其包含在构造函数
中import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import { PlanData } from '../../providers/plan-data/plan-data';
@Component({
templateUrl: 'build/pages/watch-calc/watch-calc.html'
})
export class WatchCalcPage {
constructor(private navCTRL: NavController, public planData: PlanData) {
// this.planData = planData; <- you don't need to do this; it's done automatically by typescript because it's included as a parameter in the constructor.
}