跳到主要内容

config - 配置 API

@types IPublicModelEngineConfig
@since v1.0.0

模块简介

配置模块,负责配置的读、写等操作。

方法

get

获取指定 key 的值

/**
* 获取指定 key 的值
* get value by key
* @param key
* @param defaultValue
* @returns
*/
get(key: string, defaultValue?: any): any;

示例

import { config } from '@alilc/lowcode-engine';

config.get('keyA', true);
config.get('keyB', { a: 1 });

set

设置指定 key 的值

/**
* 设置指定 key 的值
* set value for certain key
* @param key
* @param value
*/
set(key: string, value: any): void;

示例

import { config } from '@alilc/lowcode-engine';

config.set('keyC', 1);

has

判断指定 key 是否有值

/**
* 判断指定 key 是否有值
* check if config has certain key configed
* @param key
* @returns
*/
has(key: string): boolean;

示例

import { config } from '@alilc/lowcode-engine';

config.has('keyD');

setConfig

批量设值,set 的对象版本

/**
* 批量设值,set 的对象版本
* set multiple config key-values
* @param config
*/
setConfig(config: { [key: string]: any }): void;

示例

import { config } from '@alilc/lowcode-engine';

config.setConfig({ keyA: false, keyB: 2 });

getPreference

获取全局 Preference 管理器,用于管理全局浏览器侧用户 Preference,如 Panel 是否钉住

/**
* 获取全局 Preference, 用于管理全局浏览器侧用户 Preference,如 Panel 是否钉住
* get global user preference manager, which can be use to store
* user`s preference in user localstorage, such as a panel is pinned or not.
* @returns {IPublicModelPreference}
* @since v1.1.0
*/
getPreference(): IPublicModelPreference;

相关类型:IPublicModelPreference

@since v1.1.0

示例

import { config } from '@alilc/lowcode-engine';

const panelName = 'outline-master-pane';

// 设置大纲树面板钉住,在大纲树下次重新打开时生效
config.getPreference().set(`${panelName}-pinned-status-isFloat`, false, 'skeleton')

事件

onceGot

获取指定 key 的值,若此时还未赋值,则等待,若已有值,则直接返回值 注:此函数返回 Promise 实例

/**
* 获取指定 key 的值,若此时还未赋值,则等待,若已有值,则直接返回值
* 注:此函数返回 Promise 实例,只会执行(fullfill)一次
* wait until value of certain key is set, will only be
* triggered once.
* @param key
* @returns
*/
onceGot(key: string): Promise<any>;

示例

import { config } from '@alilc/lowcode-engine';

config.onceGot('keyA').then(value => {
console.log(`The value of keyA is ${value}`);
});

// or
const value = await config.onceGot('keyA');

onGot

获取指定 key 的值,函数回调模式,若多次被赋值,回调会被多次调用

  /**
* 获取指定 key 的值,函数回调模式,若多次被赋值,回调会被多次调用
* set callback for event of value set for some key
* this will be called each time the value is set
* @param key
* @param fn
* @returns
*/
onGot(key: string, fn: (data: any) => void): () => void;

示例

import { config } from '@alilc/lowcode-engine';

config.onGot('keyA', (value) => {
console.log(`The value of keyA is ${value}`);
});

const.set('keyA', 1); // 'The value of keyA is 1'
const.set('keyA', 2); // 'The value of keyA is 2'