formControlName 和 FormControl 有什么区别?

2024-01-09

我在用着ReactiveFormsModuleAngular2 创建一个包含表单的组件。这是我的代码:

foo.component.ts:

constructor(fb: FormBuilder) {
    this.myForm = fb.group({
        'fullname': ['', Validators.required],
        'gender': []
    });
}

foo.component.html (with [formControl]):

<div class="fields">
    <div class="field">
        <label>Fullname*</label>
        <input type="text" [formControl]="myForm.controls.fullname"/>
    </div>
</div>

<div class="inline fields">
    <label for="gender">Gender</label>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" checked="" tabindex="0" class="hidden" [formControl]="myForm.controls.gender">
            <label>Male</label>
        </div>
    </div>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" tabindex="0" class="hidden" [formControl]="myForm.controls.gender">
            <label>Female</label>
        </div>
    </div>
</div>

foo.component.html (with formControlName):

<div class="fields">
    <div class="field">
        <label>Fullname*</label>
        <input type="text" formControlName="fullname"/>
    </div>
</div>

<div class="inline fields">
    <label for="gender">Gender</label>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" checked="" tabindex="0" class="hidden" formControlName="gender">
            <label>Male</label>
        </div>
    </div>
    <div class="field">
        <div class="ui radio checkbox">
            <input type="radio" name="gender" tabindex="0" class="hidden" formControlName="gender">
            <label>Female</label>
        </div>
    </div>
</div>

两种方法都有效。但我无法弄清楚使用之间有什么区别[formControl] and formControlName.


我相信你忽略了一个重要的点:[formGroup]第二个示例中的指令。formControlName与一起使用[formGroup]保存您的表单多点导航。例如:

<div>
  <input type="text" [formControl]="myForm.controls.firstName"/>
  <input type="text" [formControl]="myForm.controls.lastName"/>
  <input type="text" [formControl]="myForm.controls.email"/>
  <input type="text" [formControl]="myForm.controls.title"/>
</div>

相当于:

<div [formGroup]="myForm">
  <input type="text" formControlName="firstName"/>
  <input type="text" formControlName="lastName"/>
  <input type="text" formControlName="email"/>
  <input type="text" formControlName="title"/>
</div>

现在想象一下嵌套FormGroups :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

formControlName 和 FormControl 有什么区别? 的相关文章

随机推荐

  • div 可以有多个类吗(Twitter Bootstrap)[重复]

    这个问题在这里已经有答案了 一个div标签可以有两个类吗 我正在使用 twitter bootstrap 并且我想使用两个预定义的类 一个是一个active我想在一个类上使用dropdown toggle在导航栏中 在 html 中解决这个
  • ASP.Net 会话超时:为什么默认使用 20 分钟?

    在 ASP Net 中 默认会话超时设置为 20 分钟 为什么这样 这背后有什么具体原因吗 不应将其设置为高于 20 分钟 特殊情况除外 因为每个打开的会话都会占用内存 From MSDN 站点上的 Session Timeout http
  • 我可以控制 RealityKit 中的 Reality Composer 行为吗?

    我想使用 SwiftUI 制作一个按钮 当按下按钮时 模型将隐藏 我已经阅读了此链接中的教程 创建触发器 https developer apple com documentation realitykit creating a trigg
  • OpenGLES 中的屏幕到世界坐标转换是一项简单的任务吗?

    iPhone 上的屏幕与世界问题e 我有一个在 EAGLView 中渲染的 3D 模型 CUBE 我希望能够检测到何时触摸立方体的给定面 从任何方向角度 的中心 听起来很容易 但事实并非如此 问题 如何准确地将屏幕坐标 触摸点 与世界坐标
  • JAVAFX / WebView / WebEngine FireBugLite 或其他一些调试器?

    我正在开发一个应用程序 需要在应用程序的 WebView WebEngine 部分运行调试器 以便我可以更好地调试我的应用程序 但我在互联网上找到的注入 Firebug Lite 的代码由于某种原因无法正常工作 如果我在 Firefox 控
  • 处理来自 IOS 设备的请求时发生异常

    我正在尝试在 iOS 设备上播放视频 当我尝试玩时出现以下错误 27 Apr 2015 06 59 30 GET media 2015 04 VID 20150327 112644 mp4 HTTP 1 1 200 18 Exception
  • 未在 Blazor 服务器端应用程序中创建本地化 Cookie

    我设置了本地化Startup cs services AddLocalization options gt options ResourcesPath Resources and var supportedCultures new en U
  • 将代码从 RestSharp 转换为 HttpClient

    有人可以帮我将这个使用 RestSharp 的 ASP Net Core 示例 在我的 Web Api 中使用以使用来自 Auth0 的管理 API 转换为使用 HttpClient 的示例吗 var client new RestClie
  • 如何在Python中运行并行程序

    我有一个 python 脚本来使用 os subprocess 模块运行一些外部命令 但其中一个步骤需要花费大量时间 因此我想单独运行它 我需要启动它们 检查它们是否完成 然后执行下一个不并行的命令 我的代码是这样的 nproc 24 fo
  • 使用 PHP 保护文档

    我有一个简单的登录 访问控制系统来保护一些受限制的页面 但在这些页面内有一些需要保护的链接 即Word文档 因此 如果我将这些资源保留在 webroot 中 它们就可以通过 URL 访问 保护受限制页面内的这些资源的最佳方法是什么 我知道我
  • Activity.java 中的多个选定项 RecyclerView

    我有一个RecyclerView来自本地的数据JSON in CardView 当单击一个或某个项目时 更改所选项目的背景或突出显示 例如在 Line App 中编辑 但没有 Button 或 我需要在选定的项目上实现longpress 但
  • Aptana 配置:配置的解释器在文件系统中不存在

    标题里说的差不多了 我已经更新到最新版本了Aptana 在 Windows 上 现在我的解释器无法工作 我已经重新创建了PYTHONPATH变量 删除并重新配置python解释器Aptana 在我的项目中删除并重新创建它 仍然不起作用 它给
  • 有人知道为什么 lintr 将我的 jupyter r 内核的第一个字符串标记为红色吗?

    我刚刚在 vscode 中设置了 R 来与 Jupyter 笔记本一起使用 但它用红色标记了我的内核的第一个字符串 我收到的消息是 Failed to run diagnostics error in callr subprocess Ca
  • Openshift 将 wp-admin 重定向到 https

    在 WordPress 的常规选项中 我已将 WordPress 目录更改为 onhttp mywebsite com但 WordPress 仪表板仍处于 HTTPPS 中 导致混合内容警告 即使在 Firefox 上禁用混合内容过滤器后
  • Rails 单元测试是否应该访问数据库?

    我一直在为我的 Rails 应用程序编写测试 我使用 TestUnit 进行单元测试和功能测试 我也使用 Cucumber 进行 GUI 测试 但我发现http www dcmanges com blog rails unit record
  • 如何通过 Flutter web 直接发送电子邮件

    我正在构建一个 flutter web 我必须通过电子邮件将表单数据发送到我的 Gmail 电子邮件地址 我该怎么办 请帮我 我有用户 mailer 3 0 4 和 flutter email sender 2 2 2 但他们都没有工作 这
  • 在 Java 中什么时候适合使用引用相等与对象相等?

    我了解这两个术语之间的区别 以及如果您想检查两个对象是否具有引用或相同的值 您将使用什么方法 我的问题是 什么时候你必须检查两个对象是否具有相同的引用 而不是检查两个对象是否具有相同的内容或值 从来没有一次我必须检查两个对象是否具有相同的引
  • 未找到 ID 为“osgi”的插件

    我正在尝试建立一个项目 https github com fge btf https github com fge btf 本地使用 gradle 有一个插件 osgi 正在使用 但每当我构建它时 我都会收到错误插件未找到 我尝试过提供不同
  • 如何从gradle Android Studio中的jar文件中删除单个模块

    如何从 jar 文件中删除单个包 我有两个来自不同供应商的 SDK 并且两个 SDK 都有谷歌 gson包包含在 jar 文件中 因为这导致我在 android studio 中运行构建时出现问题 它显示下图中的错误 我知道如何从存储库中排
  • formControlName 和 FormControl 有什么区别?

    我在用着ReactiveFormsModuleAngular2 创建一个包含表单的组件 这是我的代码 foo component ts constructor fb FormBuilder this myForm fb group full