整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

《Angular中响应式表单和模板驱动表单》,P8大

《Angular中响应式表单和模板驱动表单》,P8大佬精心总结

Angular中,有两种表单实现方式:响应式表单和模板驱动表单。

响应式表单

响应式表单是基于响应式编程的方式实现的,它使用FormBuilder和FormControl等类来创建表单,并使用RxJS库中的Observable对象来处理表单的值变化和状态变化。响应式表单的优点是可以更好地处理复杂的表单逻辑,并且可以更好地与其他RxJS操作配合使用。

下面是一个使用响应式表单实现的示例代码:


import { Component } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';

@Component({
  selector: 'app-reactive-form',
  template: `
    <form [formGroup]="form">
      <input type="text" formControlName="name">
      <button (click)="onSubmit()">Submit</button>
    </form>
  `
})
export class ReactiveFormComponent {
  form: FormGroup;

  constructor(private fb: FormBuilder) {
    this.form=this.fb.group({
      name: ''
    });
  }

  onSubmit() {
    console.log(this.form.value);
  }
}

在这个示例中,我们使用FormBuilder和FormGroup来创建一个名为form的表单,并在模板中使用formGroup和formControlName指令来绑定表单控件和表单组。我们还定义了一个名为onSubmit的方法来处理表单提交事件,并在控制台中打印出表单的值。


模板驱动表单

模板驱动表单是基于模板编程的方式实现的,它使用ngModel指令和模板变量来创建表单,并在模板中处理表单的值变化和状态变化。模板驱动表单的优点是更容易理解和使用,但对于复杂的表单逻辑可能不太适合。

下面是一个使用模板驱动表单实现的示例代码:

import { Component } from '@angular/core';

@Component({
  selector: 'app-template-driven-form',
  template: `
    <form #form="ngForm" (ngSubmit)="onSubmit(form.value)">
      <input type="text" name="name" [(ngModel)]="name">
      <button type="submit">Submit</button>
    </form>
  `
})
export class TemplateDrivenFormComponent {
  name: string;

  onSubmit(value) {
    console.log(value);
  }
}

在这个示例中,我们使用ngForm指令和模板变量#form来创建一个名为form的表单,并使用ngModel指令和模板变量name来绑定表单控件和模型属性。我们还定义了一个名为onSubmit的方法来处理表单提交事件,并在控制台中打印出表单的值。

响应式表单更适合处理复杂的表单逻辑,而模板驱动表单更适合快速开发简单的表单。但无论使用哪种表单实现方式,都需要考虑表单控件的验证和表单数据的提交和处理等问题。它们各自有不同的优点。

响应式表单的优点:

  1. 响应式表单是基于响应式编程的方式实现的,可以更好地处理复杂的表单逻辑。
  2. 响应式表单使用FormBuilder和FormControl等类来创建表单,并使用RxJS库中的Observable对象来处理表单的值变化和状态变化,可以更好地与其他RxJS操作配合使用。
  3. 响应式表单的代码结构更清晰,更易于维护和扩展。
  4. 响应式表单可以使用自定义的验证器来验证表单数据,并在表单控件状态变化时进行验证。

模板驱动表单的优点:

  1. 模板驱动表单是基于模板编程的方式实现的,更容易理解和使用。
  2. 模板驱动表单使用ngModel指令和模板变量来创建表单,并在模板中处理表单的值变化和状态变化,可以更快速地开发简单的表单。
  3. 模板驱动表单的可读性更强,更适合初学者使用。


响应式表单更适合处理复杂的表单逻辑,而模板驱动表单更适合快速开发简单的表单。但无论使用哪种表单实现方式,都需要考虑表单控件的验证和表单数据的提交和处理等问题。

ng-zorro-antd中的表单

在开发复杂的应用的时候,直接使用angular原生的表单会感觉有点吃力,我们可以使用ng-zorro-antd中的表单组件了。

ng-zorro-antd是一个基于Angular的UI组件库,其中包括了许多表单相关的组件,如nz-form、nz-form-item、nz-form-control等。这些组件可以帮助我们更快速地开发出符合UI规范的表单,提高开发效率和用户体验。


下面简要介绍一下ng-zorro-antd中的表单组件:

  1. nz-form:用于包裹表单控件和表单按钮等。可以设置nzLayout属性来控制表单的布局方式,包括horizontal、vertical和inline三种方式。
  2. nz-form-item:用于包裹表单控件,可以设置nzLabel属性来设置表单控件的标签名称。
  3. nz-form-control:用于包裹表单控件,可以设置nzErrorTip属性来设置表单控件验证失败时的错误提示信息。
  4. nz-input:用于创建文本输入框,可以设置nzSize属性来设置输入框的大小,包括large、default和small三种大小。
  5. nz-select:用于创建下拉框控件,可以设置nzSize属性来设置下拉框的大小,包括large、default和small三种大小。
  6. nz-radio:用于创建单选框控件,可以设置nzSize属性来设置单选框的大小,包括large、default和small三种大小。
  7. nz-checkbox:用于创建复选框控件,可以设置nzSize属性来设置复选框的大小,包括large、default和small三种大小。
  8. nz-date-picker:用于创建日期选择控件,可以设置nzSize属性来设置日期选择控件的大小,包括large、default和small三种大小。
  9. nz-time-picker:用于创建时间选择控件,可以设置nzSize属性来设置时间选择控件的大小,包括large、default和small三种大小。
  10. nz-form-explain:用于显示表单验证失败时的错误提示信息。

以上是ng-zorro-antd中的一些常用表单组件,它们具有良好的UI设计和丰富的功能,可以满足大部分表单需求。同时,ng-zorro-antd还提供了一些其他的表单组件,如nz-cascader、nz-slider等,可以根据具体需求进行选择和使用。


Angular中响应式表单和模板驱动表单
原文链接:https://juejin.cn/post/7282692430117175315

应式布局是2010年就被提出来的概念,直到今年才开始被中小企业重视。还是因为市场上的手机屏幕太多,更新换代太快,企业好不容易搞定目前市面上这一波的屏幕适应问题,新一批手机又要发布了,计划永远赶不上变化。

这时候,响应式布局仿佛打怪适时出现的超人,适应任何尺寸的屏幕,帮助企业解决了所有问题。他们尝到响应网站的甜头之后,都希望拥有一个自己的响应式网页。

为了能少花钱少花时间,他们在百度输入了“如何快速开发HTML5响应式网页”。

这时候就有一些程序大神义愤填膺地输入一堆代码,说什么其实很简单啦,先创建一个空白的HTML5模板,复制这串代码,再复制那串代码,然后在哪哪加一串标签代码,响应式网站就做好了!超!简!单!

在不懂代码的小编看来,这说的都是什么跟什么,一点都不接地气。

什么样的速度才叫快呢?

提问者理想中的快应该是这样的:最好不要超过三天,不用耗费很大工程量,不用花很多钱,最好按两下鼠标网站就能做好,做出来的效果不要太烂,网站要稳定,真正响应式。

互联网时代,没什么是不可能的。前几年要有人提出这种要求,还真的是天马行空,但现在,要实现起来还真的很轻松!用建站宝盒V9就可以了!

建站宝盒是一款自助建站工具,对企业来说一点也不陌生,甚至某些企业对自助建站是有点误解的,认为自助建站就代表着不靠谱。但宝盒更显到第九代,如果真的像某些企业想的那么不堪,早就被市场淘汰了。

用建站宝盒V9怎么快速开发HTML5响应式网页呢?很简单,登录后台,选择你们喜欢的模板,一千多套总有一套是你的菜。选好后点击“安装”,就能进入网站编辑界面。

之后就是傻瓜式的网站编辑了,双击网站模块就能进行修改、图片、视频上传等操作。V9版本还加入了创新性的自由布局,在这种布局下,用户可自由添加模块,设置H5动画。

网站编辑好后就能进行预览,建站宝盒做的网站是电脑、手机、微信三站合一的,做好一个电脑网站,就相当于拥有三个网站。网页打开速度更是比传统网站快7倍,真正的快速+响应!至于收录的问题,H5响应式网站因为拥有独特的标签,能更快被搜索引擎抓取,根本不用担心找不到网站。价格也不贵,还有免费版的!

马上快速开发H5响应式网站:http://www.iisp.com/design/

更多建站&互联网行业资讯,敬请关注微信公众号:耐思尼克(iisp-com)

端开发比设计和程序都要难做在于,要做好前端需要对设计和程序都有些许了解,当然这个只是额外需要了解的,主要还需要精通html,css,javascript,jQuery,响应式布局,移动网页布局等经验,当然时刻关注web前端技术也不可少,下面介绍了15款流行的响应式css框架。

前端开发并不是一个容易的工作,不仅需要掌握HTML、CSS和JavaScript,针对不同的浏览器版本和平台,还需要了解如何设计出跨平台的网站。如今随着响应式设计的流行,前端开发变得越来越困难,且花费的时间更长。

本文收集了15个响应式前端开发框架,可以帮助前端开发人员大大简化开发过程。针对每个框架,文中均指出了它所包含的UI组件及JavaScript插件。几乎所有的框架都采用了响应式网格系统。

使用这些前端框架,有如下好处:

  • 跨浏览器。这一点已被证实。

  • 一致性。UI组件,如导航、按钮、标签、表单、下拉框、表格……,在设计上保持风格一致。

  • 快速开发。你可以快速、容易地构建布局。这些框架都配有详细的说明文档。

  • 响应式。所有CSS组件及JavaScript插件可以很好地从桌面过渡到移动设备上。

快切css

快切css是由切图网推出的一款响应式css框架——Quickcss,最早10年就推出了,算是国内css框架鼻祖了,后经过不断衍化,逐步完善了不足之处,它的最大特色在于简单易用,和兼容性强,兼容ie6+,firefox,chrome等浏览器和移动设备。

http://kuai.qietu.com

InK

Ink为一个界面工具包,用于快速开发Web界面,具有易于使用、易于扩展特点。它可以为构建布局提供解决方案,可以展示普通的界面元素,可以实现以内容为中心、对用户友好的交互方式。

  • HTML&CSS:布局、导航、排版、图标、表单、提示框、表格

  • JS:Gallery、表格、树视图、排序列表、日期选择插件、制表符、表单验证及一些行为(停靠、折叠、关闭)

  • 其他:Sass Mixins

GroundworkCSS Beta

GroundworkCSS是一个基于Sass预处理器的开源项目 ,主要用于快速构建响应式Web应用程序。拥有一个灵活的、可嵌套的网格系统,可以创建适应多种浏览设备的布局。GroundworkCSS还提供多种UI 组件,如导航、按钮、图标、表单、Tabs、对话框、工具提示等等。

  • HTML&CSS:网格、布局、排版、按键、标题、表单、图标、社交图标、响应式文本、对话框、工具提示

  • JS:导航、制表符(Tab)、提示框、Cycle2

  • 其他:Sass Mixins

Ivory

这是一个灵活、强大的响应式Web框架,使Web开发更快速、更简单。

  • HTML&CSS:网格、排版、表单、按钮、提示框、页码、面包屑导航(breadcrumb)、列表、表格

  • JS:提示框、制表符(Tab)、切换开关(Toggle switch)、折叠

ZURB

Foundation由ZURB公司设计,ZURB是一家产品设计公司,位于加州坎贝尔。Foundation为最先进的响应式前端开发框架,它拥有很多布局模板、CSS样式表及自己开发的优秀JavaScript插件。

  • HTML&CSS:网格、布局模板、图标字体、响应式表格、SVG格式的社交图标、页码、面包屑导航(breadcrumbs)、侧导航、按键、排版、标签、提示框、面板、价格表、进度栏、表格、缩略图

  • JS:下拉按钮、拆分按钮、转换开关、Flex视频、灯箱、下拉、响应式布局(通过转换图片大小来实现)、旅游导航、麦哲伦全局导航(Magellan Sticky Nav)、Orbit图片滑动幻灯片插件等

  • 其他:可定制皮肤表单(Custom Skinned Forms)、SCSS Mixin

Grumby

Gumby 2基于Sass开发。Sass为功能强大的CSS预处理器,利用它可以快速开发Gumby。

  • HTML&CSS:网格、表单、按钮、导航、标签、Entypo图标

  • JS:下拉、浮窗、制表符(Tab)、开关与转换(Toggles & Switches)

  • 其他:可定制皮肤表单(Custom Skinned Forms)、SASS和Compass

HTML KickStart

该框架集合了HTML5、CSS和JavaScript,帮助开发人员快速开发Web产品。它覆盖了所有UI组件,同时也包含一些有用的JavaScript插件。

  • HTML&CSS:网格、排版按钮、列表、表格、图标、面包屑导航、图片、表单

  • JS:菜单、代码高亮插件、制表符(Tab)、幻灯片播放、表单验证

  • 其他:CSS帮助文档

Maxmertkit

Maxmertkit拥有完整的文档,包含大量实例,并且提供了拖拽生成代码的功能。

  • HTML&CSS:网格、布局、徽章、按钮、表单、图标、标签、菜单、进度栏、表格、下拉、工具提示

  • JS:按钮、旋转木马、通知、弹出框、滚动条、制表符(Tab)

  • 其他: Sass、Coffee脚本语言

Twitter Bootstrap

大家对Twitter Bootstrap已十分熟悉了。凭借全面的UI组件、易用的网格和组件,Bootstrap已成为众多设计者和开发者最喜欢的快速开发工具。现在已经有很多第三方Bootstrap程序和JavaScript插件可供使用。

  • HTML&CSS:网格、布局、排版、编码、表格、表单、按键、图片、图标、按钮组、导航、面包屑导航、页码、标签、徽章、缩略图、提示框、进度栏

  • JS:模态窗口(Modals)、提示效果(Tool Tips)、“泡芙”效果(Popovers)、滚动监控(Scrollspy)、旋转木马(Carousel)、输入提示(Typeahead)等等。

  • 其他:定制器(Customizer)、 LESS CSS

Skeleton

Skeleton 是一个小的JS和CSS文件集合,可帮你快速开发漂亮的网站,适合各种屏幕设备,包括手机。Skeleton基于960 Grid开发,是一个UI框架。

  • HTML&CSS:GRid、排版、按钮、表单、媒体查询(Media Queries)

Kube

Kube是一款最小化的,支持响应式的前端框架,包括一个简洁的CSS文件,用于方便地创建响应式布局,包括了两个JS文件来完成Tab以及页面的按钮操作。

  • HTML&CSS:排版、网格、表单、表格、按钮、导航、图标

  • JS:按钮、制表符(Tab)

  • 其他: LESS CSS

Helium

Helium是一个前端响应式Web框架,使用HTML5、CSS3快速制作原型以及开发产品。Helium很像Twitter Bootstrap和ZURB Foundation,事实上,Helium使用了两者不少的代码。但与这两个框架不同的是,Helium设计更加轻量级,而且更容易修改。Helium只有30KB左右,而Bootstrap有100KB,ZURB有200多KB。

  • HTML&CSS:网格、按钮、排版、表单

  • JS:下拉、表单验证

  • 其他:Sass、Compass

The Markup Framework

Markup是一套集布局、小组件、UI组件和字体排版样式为一体的框架。它可以作为你设计自己网站的起点。

  • HTML&CSS:布局、网格、排版、表单、按钮、面包屑导航、导航列表、导航菜单

  • JS:没有JavaScripts,只有单纯的CSS

Topcoat

TopCoat是一套免费的开源UI元素类库,整套类库不使用任何JavaScript,而是使用CSS和HTML来生成。

  • HTML&CSS:图标、字体、按键、面包屑导航、表单、下拉、滑动开关、选择、滚动条、切换按钮

  • JS:没有JavaScripts,只有单纯的CSS

PureCSS

Pure是一个相当小的框架,压缩及最小化后仅有5.7KB。它没有使用任何JavaScript,只是HTML和CSS。该CSS框架为响应式布局,采用模块化结构,每个模块的样式可以单独使用。

  • HTML&CSS:网格、排版、表单、按键、表格、菜单

  • JS:没有JavaScripts,只有单纯的CSS

  • 其他:程序皮肤制作工具(Skin Builder)、YU 库。

结论

根据你的需要,选择可以与设计相匹配的框架。我们不应该根据框架来构建网站,因为它会很大程度上限制设计者的思维。

如果前端设计/布局不是那么重要,那么我们可以选择使用某一框架。(编译:陈秋歌/责编:夏梦竹)

原文来自:queness.com

切图网是国内网页前端开发服务领跑者,提供专业的网页切图前端开发服务。