【问题标题】:ionic 2:Supplied parameters do not match any signature of call targetionic 2:提供的参数与调用目标的任何签名都不匹配
【发布时间】:2016-11-15 12:49:17
【问题描述】:

当我尝试使用

构建我的应用程序时遇到错误

离子运行安卓

这是错误

[14:38:19]  lint finished in 1.88 s
[14:38:33]  Error: Error at
            C:/Users/adirz/myapps/studentAssistantApp/.tmp/pages/courses-page/courses-page.ngfactory.ts:943:29
[14:38:33]  Supplied parameters do not match any signature of call target.

我添加了 course-page.ts 组件

 import { Component } from '@angular/core';
import {NavController, LoadingController,AlertController,NavParams} from 'ionic-angular';


//import providers
import {CoursesData} from "../../providers/Courses-data";
import firebase from 'firebase';

/*
  Generated class for the CoursesPage page.

  See http://ionicframework.com/docs/v2/components/#navigation for more info on
  Ionic pages and navigation.
*/
@Component({
  selector: 'page-courses-page',
  templateUrl: 'courses-page.html'
})
export class CoursesPage {
  public pet: string = 'SemA';
  public coursesA: Array<any> = [];
  public coursesB: Array<any> = [];
  public department:any;
  public gaming: string = 'all';
  public courseNames: Array<any> = [];
  constructor(public navCtrl: NavController,private navParams:NavParams,private loadingCtrl: LoadingController,public coursesData:CoursesData,public alertCtrl: AlertController) 
  {
    console.log("adir");
      this.department=this.navParams.get('department');
      console.log(this.department.id);

  }

  ionViewDidLoad() {
   let loader = this.loadingCtrl.create({});

    this.coursesA=this.coursesData.getCoursesList(this.department.id);
    if(this.coursesA){
      console.log("hello world");
      console.log(this.coursesA);
       loader.dismiss();

    }
     //this.coursesData.getCourse(this.department.id)ף

    /*this.getCoursesList().then((x: Array<any>) => {

      if (x) {
        this.coursesA = x;
        this.courseNames = x;
        loader.dismiss();
      }

    }); 
    */

  }

我还添加了课程数据提供者

    import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import firebase from 'firebase'

/*
  Generated class for the CoursesData provider.

  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
@Injectable()
export class CoursesData {
  //firebase datab
 public fireRef:any;
 public coursesList:any;
  public coursesA: Array<any> = [];

  constructor() {
   this.fireRef=firebase.database().ref();
   this.coursesList=firebase.database().ref('Courses/');
  }

  public getCourse(departmentId:any):any{
      var semesterRef = firebase.database().ref('Courses/'+departmentId+'/SemA');
      return semesterRef;
  /*semesterRef.on('child_added', function(courseSnapshot) {
    console.log(courseSnapshot.key);
    courseSnapshot.forEach(function(childSnapshot):boolean{

      return courseSnapshot.val(); // to appease TypeScript
    });
  });
  */


  } 

  public getCoursesList(departmentId:any):any
  {
 var rootRef = firebase.database().ref('Courses/'+departmentId+'/SemA');
  var listChild =[];
        rootRef.on('child_added', function (childData) {

          childData.forEach(function(childData2){
           listChild.push(childData2.val());          
            return false;
          })
        });
        return(listChild);

    }
  }

我想这与我从 course-data.ts getCoursesList(departmentId:any):any 中的函数返回有关

我觉得我做错了什么。

当我运行 ionic serve 它工作正常。

【问题讨论】:

    标签: angular firebase ionic-framework ionic2


    【解决方案1】:

    我通过更改这里的函数参数解决了这个问题。我用标记引号标记了参数?表示不需要通过。

    C:/Users/adirz/myapps/studentAssistantApp/.tmp/pages/courses-page/courses-page.ngfactory.ts:943:29
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 2017-08-24
      • 2017-02-25
      • 2017-07-26
      相关资源
      最近更新 更多