npm 包 ember-object-utils 使用教程

阅读时长 5 分钟读完

前端开发经常需要处理对象,而在 Ember.js 框架中,对象处理是非常常见的任务。ember-object-utils 是一个专门为 Ember.js 框架设计的 npm 包,提供了许多方便的对象处理工具,本文将介绍该 npm 包的使用方法。

安装

使用 npm 进行安装:

之后在 Ember.js 项目中引入:

实用工具

ObjectUtils.assign()

与 ES6 的 Object.assign() 方法类似,将多个对象合并到一个对象中。和 Object.assign() 不同的是,ObjectUtils.assign() 可以合并 Ember.js 中的 computedobserver

-- -------------------- ---- -------
----- ------- - - ----- ------- ---- -- --
----- ------- - - ------- ------ --
----- ------- - --------------------
  ------ ------------------- -
    ------ -------- ------------
  --
------------

----- ------------ - ---------------------- -------- -------- ---------

------------------------------- -- ----
-------------------------------- -- ------- ----------

ObjectUtils.pick()

选出一个对象的指定属性,返回一个新对象。

ObjectUtils.omit()

去掉一个对象的指定属性,返回一个新对象。

ObjectUtils.isObject()

判断一个值是否为对象。和 typeof 不同的是,对于 null 返回 false

ObjectUtils.mergeDeep()

深度合并多个对象到一个对象中。和 ObjectUtils.assign() 类似,但可以处理子对象的合并。

-- -------------------- ---- -------
----- ------- - -
  ----- -------
  -------- -
    ----- -----------
    -------- -------
  -
--
----- ------- - -
  ------- -------
  -------- -
    ----- ---------
  -
--

----- ------------ - ------------------------- -------- ---------

--------------------------------------- -- -------

ObjectUtils.getObject()

根据一个数组和一个值,从对象中获取嵌套属性的值。

-- -------------------- ---- -------
----- ------ - -
  ------- -
    ----- -
      ----- -------
      ---- --
    -
  -
--

----------------------------------------- ---------- ------- ---------- -- ----

ObjectUtils.setObject()

根据一个数组和一个值,设置对象中的嵌套属性的值。

-- -------------------- ---- -------
----- ------ - -
  ------- -
    ----- -
      ----- -------
      ---- --
    -
  -
--

----------------------------- ---------- ------- ------- ----
------------------------------------ -- --

ObjectUtils.isEmpty()

判断一个对象是否为空对象。

结语

ember-object-utils 提供了许多方便的对象处理工具,在开发 Ember.js 项目时可以大大提高效率。本文介绍了该 npm 包的使用方法,掌握这些工具对于 Javascript 开发者来说是非常有价值的。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e14a563576b7b1ec9db

纠错
反馈