npm 包 @tdm/angular-forms-mapper 使用教程

简介

@tdm/angular-forms-mapper 是一个 Angular 表单数据映射工具库。它可以将接口返回的 JSON 数据映射到表单控件,并将用户修改的数据映射回 JSON 数据。此库使用了 Angular 表单、表单控件以及 Angular 动态表单的一些 API,使我们能够更加灵活地控制表单数据的映射。

安装

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

使用说明

导入依赖

在你的 app.module.ts 中导入以下依赖:

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

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

创建模型

首先我们需要创建一个模型类,以便映射 JSON 数据。模型类一般需要继承 MapExclude(该类位于 @tdm/core 包中)以减少映射的工作量。例如:

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

以上定义了一个人的基本信息,包括姓名、年龄、出生日期、家庭住址等字段。其中,我们通过继承 MapExclude 类来排除在映射时不需要的字段。

映射到表单控件

首先,我们需要初始化一个 Person 实例。然后,我们使用 TDMFormBuilder 来创建表单,并将 Person 实例映射到表单控件:

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

以上代码使用了 Angular 表单和表单控件,并通过 TDMFormBuilder 将 Person 实例映射到表单控件。当表单控件值改变时,Person 实例也会相应地更新。

映射回 JSON 数据

当用户提交表单时,我们需要将表单数据映射回一个 JSON 数据格式。我们可以使用 TDMFormRenderEvents 来监听表单提交事件,并将表单数据映射回 JSON 数据:

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

以上代码中,我们监听了表单的提交事件,并使用 TDMFormRenderEvents 来获得表单数据,然后通过 TDMFormBuilder 将其映射到 JSON 格式。我们可以使用映射的 JSON 数据来更新服务器端的数据。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005596481e8991b448d6e0d


猜你喜欢

  • npm包@tdm/transformation使用教程

    简介 npm是Node.js的包管理器,提供丰富的包资源供开发者使用。本文将介绍npm包@tdm/transformation的使用教程。 @tdm/transformation是一个支持JavaSc...

    2 年前
  • npm 包 bitbit 使用教程

    BitBit 是一个前端工具库,用于异步加载 JS 和 CSS 资源。它支持公共模块和自定义模块,可有效减少页面加载时间,提高用户体验。 安装 使用 npm 安装 bitbit: --- ------...

    2 年前
  • npm 包 xml-fix-loader 使用教程

    前言 在前端开发过程中,我们经常会遇到需要解析 XML 文件的情况。由于浏览器不能够直接读取 XML,所以我们需要借助一些工具来处理它们。其中,xml-fix-loader 就是一个能够帮助我们解析 ...

    2 年前
  • npm包 roar-pidusage 使用教程

    前言 前端开发过程中,我们经常面对着性能调优以及代码优化的任务。在执行这些任务的同时,也需要对我们的代码进行恰当的监测和处理,从而更好地了解其应用模式和成功率。本文将介绍使用 npm 包 roar-p...

    2 年前
  • npm包kvjs使用教程

    前言 随着前端技术的不断发展,前端开发中使用的库和框架越来越多。而使用npm作为依赖管理工具,则是提高效率、组织代码的重要选择。kvjs是一款npm包,它为JavaScript开发者提供键值对存储AP...

    2 年前
  • npm包fluent-ffmpeg-withgoplength使用教程

    介绍 在进行音视频处理的过程中,ffmpeg无疑是最强大的工具之一,而fluent-ffmpeg则是一个优秀的封装ffmpeg的npm包。但是,如果需要对视频进行分割处理并指定GOP长度的话,flue...

    2 年前
  • npm 包 minurl 使用教程

    介绍 在 web 开发中,我们经常需要对 url 进行处理,包括压缩、解压、拼接等操作。npm 包 minurl 就提供了这些工具函数,优化了 url 的存储、传输和解析的效率,是前端开发中非常实用的...

    2 年前
  • npm 包 react-redux-infuser 使用教程

    前言 在开发大型应用程序时,状态管理往往是非常重要的部分。Redux 是一个流行的状态管理库,它使得在 JavaScript 应用程序中实现可预测的状态变化变得容易。

    2 年前
  • npm 包 react-table-wrapper 使用教程

    React 是目前最流行的前端框架之一,而在 React 中,表格组件也是很常见的。react-table-wrapper 就是一个非常方便的表格组件,它可以帮助我们快速地创建表格并添加各种功能。

    2 年前
  • npm包sw-cacheable-response使用教程

    介绍 sw-cacheable-response是一款优秀的npm包,可以帮助前端开发者优化网站性能和用户体验,特别是在离线和缓慢网络环境下。 sw-cacheable-response可以实现Ser...

    2 年前
  • npm 包 iddo 使用教程

    前言 在前端开发中,我们需要使用各种各样的第三方包来帮助我们提高开发效率,其中 npm 是目前最流行的包管理器之一。而 iddo 则是一个功能强大、易于使用的 npm 包,本文将深入介绍如何使用 id...

    2 年前
  • npm 包 iptools-jquery-modal 使用教程

    前言 npm 是 Node.js 的包管理器,它能让开发者方便地安装、升级以及管理相应的包。对于前端开发者而言,npm 上有大量的插件、库和工具可以优化我们的开发效率和代码质量。

    2 年前
  • npm 包 is-native-modules 使用教程

    Node.js 是一个非常流行的 JavaScript 运行环境,具有广泛的应用场景。而 NPM(Node Package Manager) 则是 Node.js 中最受欢迎的包管理器之一。

    2 年前
  • 使用 angular2-jsonapi-custom npm 包的教程

    什么是 angular2-jsonapi-custom npm 包 angular2-jsonapi-custom 是一个 Angular2 / 4+ NPM 包,它实现了各种 JSON:API 原语...

    2 年前
  • npm 包 passport-line-v2 使用教程

    介绍 passport-line-v2 是一个 Passport 策略,用于使用 LINE 登录并验证用户的身份。它的作用类似于第三方登录平台,可以帮助开发者实现快速登录的功能,加快项目开发进程。

    2 年前
  • npm 包 ag-grid-api 使用教程

    在前端开发中,很多时候需要使用表格来展示数据,而 ag-grid 是一个非常优秀的开源表格库。除了提供数据展示外,它还提供了丰富的 API,可以让我们动态地控制表格的行为。

    2 年前
  • npm 包 jsdoc-i18n 使用教程

    当你编写前端代码时,如何有效地记录你的代码以及给其他开发人员带来极大的便利?这时候 jsdoc 就会派上用场。 jsdoc 作为前端开发中一款高效、简单的 API 文档生成工具,可以将你的代码注释自动...

    2 年前
  • npm 包 clay-lump-actor 使用教程

    简介 npm 包 clay-lump-actor 是一个面向前端开发人员的工具包,可用于快速实现页面中的动态效果。它提供了一组 API,让用户可以创建一个或多个动态角色(也称为“演员”),并通过这些角...

    2 年前
  • npm 包 talend-json-schema-form-core 使用教程

    简介 talend-json-schema-form-core 是一个基于 React 的 npm 包,用于快速生成表单,支持 JSON Schema 数据格式。 安装 可以使用 npm 或者 yar...

    2 年前
  • npm 包 node-is-ancestor-of 使用教程

    在前端开发中,经常需要操作 DOM 元素的层级关系。这时候,判断一个元素是否是另一个元素的祖先元素是一项常见的任务。而 npm 包 node-is-ancestor-of 就是一个方便实用的工具,可以...

    2 年前

相关推荐

    暂无文章