在Ionic 2中找不到可注射的名称

时间:2017-05-04 10:16:32

标签: typescript ionic-framework ionic2

我有一个带有单个视图的Ionic应用程序和一个处理API调用的提供程序。此视图仅显示API中的内容。 当我运行Ionic服务时,我收到此TS错误:Cannot find name 'ApiService'. 我的IDE是PHPStorm,当我在构造函数中点击ApiService(它是红色的并且说找不到该名称)时,它会将我重定向到右侧文件中的声明。 我有一个非常简单的代码与视图组件:

import { Component } from '@angular/core';
import { NavController } from "ionic-angular";
import { ApiService } from "api-test"; // This is the class I have trouble with

@Component({
    selector: 'cgu',
    templateUrl: 'cgu.html'
})
export class cguView {

    constructor(public navCtrl: NavController, private apiService: ApiService) {}

}

ApiService的代码:

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

@Injectable()
export class ApiService {
    API_URL;
    data;

    constructor(public http: Http) {
        this.API_URL = "myapi";
        this.data = {};
    }


    call(action, entity, params) {
        var link = this.API_URL;
        var data = JSON.stringify({mydata});

        this.http.post(link, data)
            .subscribe(data => {
                this.data.response = data;
                console.log(data);
            }, error => {
                console.log("erreur!");
            });
    }

}

我错过了什么?路径是正确的(我把它放在同一个文件夹中以确保..)。提前感谢您的任何帮助

1 个答案:

答案 0 :(得分:2)

  

路径是正确的(我把它放在同一个文件夹中以确保..)

不,不是。 当您将路径指定为"api-test"时,它会在node_modules中检查包裹。

您需要提供:

import { ApiService } from "./api-test";