【问题标题】:Create HTML forms dynamically using AngularJS使用 AngularJS 动态创建 HTML 表单
【发布时间】:2016-09-25 19:25:20
【问题描述】:

我正在处理一个包含 80 多个表单的大型项目。每个事务都有一个表单,现在我考虑使用 Angular 动态创建这个表单。此动态表单创建过程将生成带有模型名称和验证规则的输入字段。我将在 Angular 控制器中编写表单的定义。所以我的好奇心是知道这种想法实际上是好的,或者我应该考虑其他一些方法。我在服务器端使用 Node.js 和 Express js。

【问题讨论】:

  • 为什么不使用 HTML fragments,每个自定义表单一个?您可以通过控制器或在实际的 HTML 源代码中以编程方式包含这些内容。这听起来比将 80 多种表单的 HTML 埋在 Javascript 代码中更易于维护。
  • 我将在控制器中创建一个 json 对象,该对象将包含字段类型(文本、单选按钮、复选框等)、字段的模型名称和字段验证现在我将使用 ng-repeat 生成它字段。这种方法好还是需要一些改进?

标签: javascript html angularjs


【解决方案1】:

如果您使用 asp.net 作为后端,那么您可以依靠 Visual Studio 脚手架和 T4 模板为您的 Angular 控制器和视图生成 HTML 和 JavaScript。

否则,您可以拥有一个 Json 文件,其中包含每个表单的字段列表,并创建一个接受表单名称并从 json 文件中读取其字段的指令,然后遍历表单中的字段列表并相应地绘制 HTML 输入,您可以在每个字段中包含验证、标签和数据类型。

您可以稍后将此文件保存在数据库中并允许用户编辑该文件,也许您可​​以为每个表单添加一个视图,例如 SharePoint,当它有一个列表时,然后每个列表有多个视图。

【讨论】:

  • 我在服务器端使用node js。
  • 然后使用第二种解决方案,存储表单的元数据并在指令中读取它以绘制表单
猜你喜欢
  • 1970-01-01
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2011-07-06
  • 1970-01-01
  • 2016-04-08
相关资源
最近更新 更多