zoukankan      html  css  js  c++  java
  • [Typescript] Namespaces

    In general, it is not recommeded to use Namespace in Typescript, we should use ES6 module export import syntax.

    But there are still some good usecases for Namespace, for example when you defining Actions in Ngrx or Ngxs. You can group action by namespace.

    Considering two example:

    Without namespace:

    export class AddTodo {
      static readonly type = '[Todo] Add';
      constructor(public payload: any) {}
    }
    
    export class EditTodo {
      static readonly type = '[Todo] Edit';
      constructor(public payload: any) {}
    }
    
    export class FetchAllTodos {
      static readonly type = '[Todo] Fetch All';
    }
    
    export class DeleteTodo {
      static readonly type = '[Todo] Delete';
      constructor(public id: number) {}
    }

    With namespace:

    export namespace Todo {
      export class Add {
        static readonly type = '[Todo] Add';
        constructor(public payload: any) {}
      }
    
      export class Edit {
        static readonly type = '[Todo] Edit';
        constructor(public payload: any) {}
      }
    
      export class FetchAll {
        static readonly type = '[Todo] Fetch All';
      }
    
      export class Delete {
        static readonly type = '[Todo] Delete';
        constructor(public id: number) {}
      }
    }
  • 相关阅读:
    逻辑运算(二)
    Rust基础类型
    Rust简单demo
    逻辑基础(一)
    webpack配置typescript项目
    Go并发原理
    JS实现取任意类型的数组交集并集方法的思考
    JS 可逆加密的一种实现
    所有中文复姓
    将中文姓名转为拼音英文名的一种实现
  • 原文地址:https://www.cnblogs.com/Answer1215/p/12202184.html
Copyright © 2011-2022 走看看