# 全局变量 Global

`import {Global} from 'sjfx'

该类的设计目的是方便跨组件使用变量。 实际该类创建的变量都是存储在window.$Global下。 在通过iframe进行父子操作时,子窗口可以通过访问父窗口的window.$Global进行互操作。

# winHeight

该变量中默认存储了winHeight(window.innerHeight),亦即可视化界面高度。 该变量在IE9以下的浏览器上不被支持。 该变量不会跟随窗口大小变化而变化。 适用于手机及默认全屏的浏览器。

# 方法

# get(name: string): any

获取全局变量

# set(name: string, value: any): void

设置全局变量

# remove(name: string): void

移除全局变量

# removeAll(): void

清除所有全局变量

# cache

cache(name, api, paras = {}, filter) 使用场景: 需要从服务端加载,然后使用比较频繁的数据,前端把数据缓存起来可以提高性能。 刷新界面或者重新打开界面,均会重新从服务端请求

name - 缓存的变量名
api - 接口地址
paras - 参数
filter - 处理函数,可不传

# 实例

import {Ajax, Global} from "sjfx"
  /**
   * 加载超级导购权限列表
   * @returns {Promise<any>}
   */
  getRights() {
    return Global.cache(
      'emp_menu',
      SysConfig.apiUrl('/authorization/api/v1/self/menu-list'),
      {app: 2},
      function (data) {
        Global.set('all_rights', data);
        const result = Tree.buildTreeData(data, {
          rootParentId: '0'
        }).Asc('index');

        result.forEach(function (item) {
          item.children.Asc('index');
        });
        return result;
      }
    );
  }
Last Updated: 1/14/2020, 3:34:31 PM