Sudut berdasarkan lingkungan yang saya perlukan untuk mengekspor enum. Saya tidak tahu apakah itu benar atau tidak? role.ts

import { environment } from '../../environments/environment';
if(environment.production) {
  export enum Role {
   User: 'user',
   Admin: 'admin'
  }
 } else {
  export enum Role {
   User: 'user',
   Admin: 'user'
  }
}

Berdasarkan kondisi bagaimana mengekspornya? Terima kasih

1
Rijo 28 Oktober 2019, 19:53

2 jawaban

Jawaban Terbaik

Anda dapat melakukannya seperti ini:

import { environment } from '../../environments/environment';
export class Role {
  static User = 'user';
  static Role = (environment.production) ? 'role' : 'admin';
}
2
LALIT KANTA DIBYADARSHAN 28 Oktober 2019, 17:19

String emun seperti:

    export enum Role {
       User = 'user',
       Admin = 'admin',
   }

Akan dibangun menjadi:

     "use strict";
   Object.defineProperty(exports, "__esModule", { value: true });
   var Role;
   (function (Role) {
       Role["User"] = "user";
       Role["Admin"] = "admin";
   })(Role = exports.Role || (exports.Role = {}));

Jadi seperti yang Anda lihat pada akhirnya enum Anda akan menjadi objek. Anda dapat menulis ulang kode Anda seperti ini

  import { environment } from '../environments/environment';

    export const Roles = getRole();

    function getRole() {
     if (environment.production) {
       return {
         User: 'user',
         Admin: 'admin'
       };
     }

     return {
       User: 'user',
       Admin: 'user'
     };
    }
0
Victor 28 Oktober 2019, 17:39