【问题标题】:What are ng2 Forms useful for besides validation?除了验证之外,ng2 表单还有什么用处?
【发布时间】:2016-12-21 23:59:54
【问题描述】:
我们决定仅在 Angular2 应用程序的后端进行验证。在这种情况下,似乎 ng2 的 Forms、formBuilder、ngControls 等带有额外的代码是不必要的,并且添加了很多代码。除了验证之外,它们还有什么用处?
(PS 请不要以这是一个坏主意的理由做出回应。我们知道我们应用程序的上下文,并且知道仅服务器端验证的优缺点。我想知道,我们会不会后悔在这种情况下使用 ng2 的表单?它们是否还有其他有用或关键的功能?)
【问题讨论】:
标签:
angular
angular2-forms
angular2-formbuilder
angular2-ngmodel
【解决方案1】:
Angular2 表单更新了 CSS 类,使其易于设置样式
+-----------------------------+---------------+----------------+
| State | Class if true | Class if false |
+-----------------------------+---------------+----------------+
| Control has been visited | ng-touched | ng-untouched |
| Control's value has changed | ng-dirty | ng-pristine |
| Control's value is valid | ng-valid | ng-invalid |
+-----------------------------+---------------+----------------+
另见https://angular.io/docs/ts/latest/guide/forms.html
表单模块还允许以 Angular2 方式构建表单,其中 DOM 不会被您的代码直接访问。
您应该只更新模型,Angular2 会相应地更新 DOM。
这样,应用程序就可以在所有受支持的平台上运行,例如服务器端渲染或网络工作者。