美文网首页
命名空间v1.0.0

命名空间v1.0.0

作者: 一点金光 | 来源:发表于2019-07-28 00:37 被阅读0次

命名空间的创建和使用。可用于配置、状态...等的管理。这是一种风格,但不唯一。

/**
 * 命名空间
 * @class
 * @classdesc
 */
Class MyNameSpace {
  constructor(name,data){
    this.__data = data || {}
    this.__name = name || "MYAPP"
  }
  /**
   * 设置数据
   */
  setData(data){
    this.__data = data;
  }
  /**
   * 返回指定的命名空间,如果命名空间不存在则创建命名空间。
   * @method
   * @param {string} nsPath 空间路径
   * @param {string} delemiter 分割符号 默认为.
   * @return {Object} 最后一个命名空间创建的对象的引用
   */
  conf(nsPath,delemiter){
    let parts = nsPath.split(delemiter||"."),
    parent = this.__data,
    i=0,
    l=0;

    if(parts[0]===this.__name){
        parts = parts.slice(1);
    }
    for(i=0,l=parts.length; i<l;i++){
        if(typeof parent[parts[i]] === "undefined"){
            parent[parts[i]] = {};
        }
        parent = parent[parts[i]];
    }
    return parent;
  }
}
//basic usage:
let ns = new NameSpace('state',{})
//set ns
ns.conf('state.user.id') = "xx"
//get ns
ns.conf('state.user.id') //"xx"
//set data
ns.setData({})
//set name
ns.setName('ymc')
//....

相关文章

  • 命名空间v1.0.0

    命名空间的创建和使用。可用于配置、状态...等的管理。这是一种风格,但不唯一。

  • Hbase 查询语句

    进入HBase数据库 HBase帮助命令: 命名空间 列出所有命名空间 新建命名空间 删除命名空间 该命名空间必须...

  • NDK开发:C++基础

    一、命名空间 standard:标准命名空间 命名空间类似于java中的包。 自定义命名空间 使用命名空间 ::为...

  • Chapter 18 Large-scale project t

    命名空间 inline命名空间 inline声明的命名空间, 可以无视本层命名空间, 而可以被直接使用. 用处: ...

  • C#随笔1

    1命名空间 语法 namespace 命名空间名称{若干个类型} ORnamespace 命名空间名称.子命名...

  • 07_Python函数进阶_全栈开发学习笔记

    # 1. 命名空间 ## 1.1 命名空间的种类 命名空间共有有三种 1) 内置命名空间 —— python解释器...

  • C++入门05 --命名空间,继承,访问权限,初始化列表

    命名空间 命名空间主要是用来解决命名冲突的; namespace xxxx { }:命名空间的定义; 利用::域运...

  • 命名空间 namespace

    /*命名空间:命名空间是一种封装事物的方法命名空间怎么声明?关键字: namespace 导入命名空间: use起...

  • chapter18_命名空间

    命令空间 每个命名空间都是一个作用域位于该命名空间之外的代码必须明确指出所用的名字属于哪个命名空间 命名空间可以是...

  • kubernetes-RBAC实操

    环境准备准备test的命名空间test命名空间下创建serviceaccounttest命名空间下创建rolete...

网友评论

      本文标题:命名空间v1.0.0

      本文链接:https://www.haomeiwen.com/subject/hnnyrctx.html