【问题标题】:Declare object inside the environment.ts file在 environment.ts 文件中声明对象
【发布时间】:2019-05-05 20:48:22
【问题描述】:

environment.ts 文件中声明对象的任何线索?我已经尝试如下所示。但它没有检测到HotelEnvironment 接口?

export const environment = {
  production: false,

  /*hotelEnvironment:HotelEnvironment={
     apiUrl: "",
     titanUrl: "",
     hotelName: ""
  }*/

   hotelEnvironment:HotelEnvironment={
     apiUrl: "",
     titanUrl: "",
     hotelName: ""
  }
};

export interface HotelEnvironment {
    apiUrl: string;
    titanUrl: string;
    hotelName: string;
}

'HotelEnvironment' 仅指一种类型,但被用作值 here.ts(2693)

更新:

我需要声明 2 个或更多酒店环境。即我将有很多酒店。但是 1 家酒店会在环境文件中出现一次。当我们部署应用程序时,开发人员需要注释掉其他酒店,并且只启用 1。我的想法是尽量减少开发人员在注释掉代码时会出现的错误。即如果我有 3 行代码而不是单个对象,则 dev 可能会被注释掉 2 行,其他行将丢失并保持未注释状态。这将导致应用出现意外行为。

【问题讨论】:

    标签: angular typescript angular7 ionic4


    【解决方案1】:

    您的 export const environment 声明了一个简单的 json 对象。

    在对象赋值中,不能用: 声明属性类型,而只能声明一个值。

    您可以尝试以下 sn-p 但不确定它是否有效

    export const environment: {production: boolean, hotelEnvironment: HotelEnvironment} = {
      production: false,
      hotelEnvironment:{
         apiUrl: "",
         titanUrl: "",
         hotelName: ""
      }
    };
    
    
    export interface HotelEnvironment {
        apiUrl: string;
        titanUrl: string;
        hotelName: string;
    }
    

    【讨论】:

    • 这真是太好了。有什么方法可以避免声明其他属性?即production: boolean, 即需要使用它而不将其声明为以前的。
    • 不管怎样,我喜欢这个。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 2016-06-27
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    相关资源
    最近更新 更多