Firebase 无法解析所有参数

Firebase 无法解析所有参数,firebase,ionic-framework,angularfire,angularfire2,Firebase,Ionic Framework,Angularfire,Angularfire2,嗨,我正在构建一个toDo应用程序,在完成所有步骤后,我遇到了这个问题 错误-- 运行时错误 无法解析TaskListPage:([object],?)的所有参数。 堆叠 从'@angular/core'导入{Component}; 从“离子角度”导入{NavController,ItemSliding}; 从“/Task”导入{Task}; 从“angularfire2”导入{AngularFire,FirebaseListObservable}; @组成部分({ 选择器:“页面任务列表”,

嗨,我正在构建一个toDo应用程序,在完成所有步骤后,我遇到了这个问题

错误-- 运行时错误 无法解析TaskListPage:([object],?)的所有参数。 堆叠

从'@angular/core'导入{Component};
从“离子角度”导入{NavController,ItemSliding};
从“/Task”导入{Task};
从“angularfire2”导入{AngularFire,FirebaseListObservable};
@组成部分({
选择器:“页面任务列表”,
templateUrl:'tasklist.html'
}    )
导出类任务列表页面{
任务:FirebaseListObservable;
构造器(公共navCtrl:NavController,af:AngularFire){
this.tasks=af.database.list('/tasks');
}
addItem(){让newtask:string=prompt(“新任务”);
如果(新任务!='')
{this.tasks.push({title:theNewTask,状态:'open'});
}
}
markAsDone(滑动项:项滑动,任务:任务)
{this.tasks.update(task.key,{status:'done'});
slidingItem.close();
}
removeTask(滑动项:项滑动,任务:任务)
{this.tasks.remove(task.$key);
slidingItem.close();
}
}

这是Angular可以真正改进其错误消息的地方。令人不快的是:

constructor(public navCtrl: NavController, af: AngularFire) {
您对
af
变量没有访问修饰符,因此假定它是一个调用时间变量(无
public
protected
private
,因此Angular不知道它应该是类成员变量)。因为在编译时,
af
将是什么是未知的,它会导致该警告

简单的解决方案是:在变量上添加一个访问修饰符。如果不打算共享,
private
通常是适当的修改器


另外,
AngularFire
看起来不是来自
angularfire2
的有效导出。它看起来应该是
AngularFirestore
或特定于功能的模块之一-身份验证、消息传递等。另外,请确保您已在应用程序中设置了AngularFireModule。通过

我在帖子中添加了一些信息-看起来您需要查看您的设置和导入的内容。
constructor(public navCtrl: NavController, af: AngularFire) {