繁体   English   中英

找不到TypeScript名称空间

[英]TypeScript namespace could not be found

我正在用打字稿写一些代码。 该代码本身是一个有角度的2应用程序,但问题是关于打字稿本身。 我有一些文件包含我的模型,例如一个波纹管:

module Models { 
    export class Customer { 
        public Id: number;
        public Name: string;
        public Orders: Order[];
        public CustomerPhones: CustomerPhone[];
    }
}

和一些这样的api客户端服务:

import { Inject, Injectable } from '@angular/core';
import { Http } from '@angular/http';
module Api { 
    @Injectable()
    export class RestaurantMenuApiController {
        constructor(private http: Http, @Inject('BASE_URL') private baseUrl: string) {
        } 

        public getAllMenus = ( context:any, fieldNameToFill: string, beforeFieldFilling:(data:Models.RestaurantMenu[])=>void, afterFieldFilling:(data:Models.RestaurantMenu[])=>void, failureHandler:()=>void, errorHandler:(error:any)=>void) => {
            var promise = this.http.get(this.baseUrl + 'api/RestaurantMenuApi/getAllMenus');
            promise.subscribe(result => {
                if (result.ok) {
                    var data = <Models.RestaurantMenu[]>result.json();

                    if (beforeFieldFilling) {
                        beforeFieldFilling(data);
                    }

                    if(fieldNameToFill && fieldNameToFill != '')
                        context[fieldNameToFill] = data;

                    if (afterFieldFilling) {
                        afterFieldFilling(data);
                    }
                }
                else{
                    failureHandler();
                }
            }, error => {
                console.error("api call error: ",error);
                errorHandler(error);
                });
        }
    }
}

在这些之后,当我在其他文件中使用它们时,表达式Api.RestaurantMenuApiController表示找不到命名空间Api,而代码Models.Customer可以正常工作。

我的错在哪里 我使用了两个都没有导入的情况,因为无法导入未导出的名称空间。

在这些之后,当我在其他文件中使用它们时,表达式Api.RestaurantMenuApiController表示找不到命名空间Api,而代码Models.Customer可以正常工作。

带有Models的文件是全局文件,而由于import语句,带有Api的文件是模块。

固定

不要使用全局变量。

更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM