other 其他

isEmpty

用于校验 <ng-content> 是否为空,自定义组件时蛮有用。

toBoolean

转换 boolean 属性

toNumber

转换 number 属性

deepGet

类似 _.get,根据 path 获取安全值。

  1. const obj = {
  2. id: 1,
  3. user: {
  4. name: 'cipchk',
  5. age: 18
  6. }
  7. };
  8. deepGet(obj, 'id'); // 1
  9. deepGet(obj, 'user.age'); // 18

deepCopy

基于 extend 的深度拷贝。

  1. const source = { a: 1, user: { name: 'cipchk' } };
  2. const obj = deepCopy(source);

deepMerge

深度合并。

  1. let original = { a: 1, b: { c: 'c' } };
  2. deepMerge(original, { b: { d: 'd' }, arr: [ 1 ] });
  3. // output: { a: 1, b: { c: 'c', d: 'd' }, arr: [ 1 ] }

copy

复制字符串文档至剪贴板。

updateHostClass

更新宿主组件样式 class,例如:

  1. updateHostClass(
  2. this.el.nativeElement,
  3. this.renderer,
  4. {
  5. [ 'classname' ]: true,
  6. [ 'classname' ]: this.type === '1',
  7. [ this.cls ]: true,
  8. [ `a-${this.cls}` ]: true
  9. }
  10. )