【问题标题】:Cant resolve all parameters无法解析所有参数
【发布时间】:2018-03-10 23:08:57
【问题描述】:

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

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

import { Component } from '@angular/core';
import { NavController, ItemSliding } from 'ionic-angular';
import {Task} from './task';
import {AngularFire, FirebaseListObservable} from 'angularfire2';

@Component({
selector: 'page-tasklist',
templateUrl: 'tasklist.html'
}    )
export class TaskListPage {
tasks: FirebaseListObservable <any[]>;

constructor(public navCtrl: NavController, af: AngularFire) {
    this.tasks = af.database.list('/tasks');
}

addItem() {let theNewTask: string = prompt("New Task"); 
if (theNewTask !== '') 
        { this.tasks.push({ title: theNewTask, status: 'open'}); 

        }
}
markAsDone( slidingItem: ItemSliding, task: Task) 
    { this.tasks.update(task.$key, {status: 'done'}); 
      slidingItem.close();
    }

removeTask(slidingItem: ItemSliding, task: Task) 
{ this.tasks.remove(task.$key);
  slidingItem.close();
}


}

【问题讨论】:

    标签: firebase ionic-framework angularfire angularfire2


    【解决方案1】:

    这是 Angular 真正可以改进其错误消息的地方。违规行是这一行:

    constructor(public navCtrl: NavController, af: AngularFire) {
    

    af 变量上没有访问修饰符,因此假定它是调用时变量(没有 publicprotectedprivate,因此 Angular 不知道它应该是类成员变量)。由于在编译时,未知 af 是什么,因此会导致该警告。

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

    另外,AngularFire 看起来不像是从 angularfire2 导出的有效。看起来它应该是 AngularFirestore 或功能特定模块之一 - 身份验证、消息传递等。还要确保您在 app.module 中设置了 AngularFireModule,following the setup directions in their repo.

    【讨论】:

    • 我在帖子中添加了一些信息 - 您似乎需要检查您的设置以及您正在导入的内容。
    猜你喜欢
    • 2017-02-12
    • 1970-01-01
    • 2017-09-26
    • 2018-03-24
    • 1970-01-01
    • 2016-11-27
    • 2018-05-16
    • 2017-11-04
    • 2017-07-27
    相关资源
    最近更新 更多