首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular *ngFor循环在两次迭代后中断,我在控制台中看到“表单提交被取消,因为表单未连接”

Angular中的ngFor指令用于在模板中进行循环操作。当使用ngFor循环时,有时可能会遇到循环在两次迭代后中断的情况,并在控制台中看到“表单提交被取消,因为表单未连接”的错误消息。

这个错误通常是由于在循环中使用了表单控件,但没有正确连接表单引起的。在Angular中,如果要使用表单控件,必须将其包裹在一个form元素中,并使用ngForm或FormGroup指令进行连接。

要解决这个问题,可以按照以下步骤进行操作:

  1. 确保在循环中使用的表单控件被正确包裹在一个form元素中。例如:
代码语言:txt
复制
<form #myForm="ngForm">
  <div *ngFor="let item of items">
    <input type="text" name="itemName" [(ngModel)]="item.name" required>
  </div>
</form>
  1. 确保在form元素上使用了ngForm或FormGroup指令进行连接。例如:
代码语言:txt
复制
<form #myForm="ngForm" (ngSubmit)="submitForm(myForm)">
  <!-- 表单内容 -->
</form>
  1. 在组件类中,确保有一个submitForm方法来处理表单提交。例如:
代码语言:txt
复制
submitForm(form: NgForm) {
  if (form.valid) {
    // 处理表单提交逻辑
  }
}

通过以上步骤,可以正确连接表单并解决循环中断的问题。

关于Angular的*ngFor指令和表单处理,你可以参考腾讯云的Angular开发文档,了解更多相关信息:

请注意,以上提供的链接是腾讯云的相关文档,仅供参考。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AngularDart4.0 指南- 表单

您将在表单中添加一个select,并使用ngFor(先前“显示数据”页面中看到的一种技术)将选项绑定到powers列表。...p模板输入变量每次迭代中是不同的power; 您使用插值语法显示其名称。 与ngModel的双向数据绑定 现在运行应用程序有点令人失望。 ? 你没有看到英雄数据,因为你还没有绑定到英雄。...touched和untouched指示控件是否访问过。 valid反映了控制值的有效性。 样式控件 有效的控制属性是最有趣的,因为当一个控制值无效时,你想发送一个强烈的视觉信号。...用ngSubmit提交表单 用户应该能够填写表单提交这个表单表单底部的Submit按钮本身不做任何事情,但是由于它的类型(type =“submit”),它会触发一个表单提交。...提交按钮也被禁用。 没有留下深刻印象? 想一想。 如果没有Angular的帮助,你需要做什么才能将按钮的启用/禁用状态连接表单的有效性?

17.4K30

AngularDart4.0 指南- 模板语法二 顶

NgFor NgFor是一个迭代指令 - 一种呈现项目列表的方式。 您可以定义一个HTML块来定义应该如何显示单个项目。 您告诉Angular将该块用作呈现列表中每个项目的模板。...分配给* ngFor的文本是指导迭代器进程的指令。 *ngFor微语法 分配给* ngFor的字符串不是模板表达式。 这是一种微语法 - Angular解释的一种小语言。...字符串“let hero of heroes”是指: 取英雄列表中的每个英雄,将其存储本地英雄循环变量中,并使其可用于每次迭代的模板HTML。...你知道这一点,因为每个英雄的ID没有改变。 但是Angular只能看到新的对象引用列表。 它别无选择,只能拆除旧的DOM元素并插入所有新的DOM元素。...但是NgForm指令有,它解释了如果heroForm.form.valid无效并且将整个表单控件树传递给父组件的onSubmit方法,您可以禁用提交按钮。

29.9K20

Angular: 最佳实践

Note: 本文中,将尽量避免官方 Angular Style Guide 提及的模式和有用的实践,而是专注自己的经验得出的东西,将用例子来说明。...如果你还没读过官网指引,建议你阅读本文之前读一下。因为官网涵盖了本文很多没介绍的东西。 本文将分为几个章节来讲解,这些章节根据应用核心需求和生命周期来拆分。现在,我们开始吧!...表单,那么将这些逻辑移动到一个基础类会更友好...但是你不需要继承 AbstractBaseComponent,因为不是每个组件都有 form 表单。...比如,你想在模版中为正确填写表单控件添加 has-error 类(也就是说并非所有的校验都通过)。...读者可能意识到我并没有写关于 Directives 和 Pipes 的相关内容,那是因为想写篇详细的文章,关于 Angular 中 DOM 是怎么工作的。

2.8K40

AngularDart 4.0 高级-结构指令 顶

指令拼写 本指南中,您将看到UpperCamelCase和lowerCamelCase拼写的指令。 你已经看到了NgIf和ngIf。 有一个原因。...当宿主元素连接到资源密集型组件时,这很重要。 即使隐藏,这种组件的行为也会继续。 该组件保持连接到其DOM元素。 它一直倾听事件。 Angular不断检查可能会影响数据绑定的更改。...Angular设置let-hero为上下文的$implicit属性的值,NgFor已经用当前迭代的hero初始化了它的值。 API指南描述了额外的NgFor指令属性和上下文属性。...NgIf或NgFor应该先走哪一个? NgIf能否取消NgFor的效果? 如果是这样(并且看起来应该如此),Angular应该如何概括取消其他结构指令的能力? 这些问题没有简单的答案。...与其他结构指令一样,NgSwitchCase和NgSwitchDefault可以解析为模板属性表单。 <div [ngSwitch]="hero?.

16K20

Angular 从入坑到挖坑 - 路由守卫连连看

跳转到组件前获取某些必须的数据 离开页面时,提示用户是否保存提交的修改 Angular 路由模块提供了如下的几个接口用来帮助我们解决上面的问题 CanActivate:用来处理系统跳转到到某个路由地址的操作...:是否允许通过延迟加载的方式加载某个模块 添加了路由守卫之后,通过路由守卫返回的值,从而达到我们控制路由的目的 true:导航将会继续 false:导航将会中断,用户停留在当前的页面或者是跳转到指定的页面...UrlTree:取消当前的导航,并导航到路由守卫返回的这个 UrlTree 上(一个新的路由信息) 4.2.1、CanActivate:认证授权 实现路由守卫之前,可以通过 Angular CLI...4.2.3、CanDeactivate:处理用户提交的修改 当进行表单填报之类的操作时,因为会涉及到一个提交的动作,当用户没有点击保存按钮就离开时,最好能暂停,对用户进行一个友好性的提示,由用户选择后续的操作...为了杜绝这种授权未通过仍加载模块的问题发生,这里需要使用到 CanLoad 守卫 因为这里的判断逻辑与认证授权的逻辑相同,因此 AuthGuard 中,继承 CanLoad 接口即可,修改的 AuthGuard

3.7K30

Angular 从入坑到挖坑 - 表单控件概览

使用 ngModel 进行模板绑定时,angular form 标签上自动附加了一个 NgForm 指令,因为 NgForm 指令会控制表单中带有 ngModel 指令和 name 属性的元素,而...name 属性则是 angular 用来注册控件的 key,所以表单中使用 ngModel 进行双向数据绑定时,必须要添加 name 属性 4.2.2、跟踪表单控件的状态 表单中使用 ngModel...在数据验证失败的情况下,对于系统来说,表单是不允许提交的,因此可以将提交事件绑定到表单的 ngSubmit 事件属性上,通过模板引用变量的形式,提交按钮处进行数据有效性判断,当无效时,禁用表单提交按钮...模板驱动表单中,因为不是直接使用的 FormControl 实例,因此这里应该在模板上添加一个自定义的指令来完成对于控件数据的校验 使用 angular cli 创建一个用来进行表单验证的指令 ng...{ 'nameInvalid': true } : null; } } 当实现了继承的 validate 方法,就可以模板的控件上添加该指令

18.9K20

Angular学习资料大全和常用语法汇总(让后端程序员轻松上手)

主要是因为前段时间写过一些关于Angualr的相关实战文章,有些爱学习的小伙伴对这方面比较感兴趣,但是又不知道该怎么入手(因为认识的大多数小伙伴都是后端的同学),所以今天准备出一篇Angular学习资料汇总和日常开发中使用比较频繁的语法总结...要了解关于 FormsModule 和 ngModel 的更多信息,参阅表单一章。...ngFor循环的使用: 属性index、count、first、last、even、odd index属性提供当前对象的索引 count提供当前数据集的长度,类似于datasource.length...ng-class-odd 类似 ng-class,但只奇数行起作用 ng-click 定义元素点击时的行为 ng-cloak 应用正要加载时防止其闪烁 ng-controller 定义应用的控制器对象...修改内容的安全策略 ng-cut 规定剪切事件的行为 ng-dblclick 规定双击事件的行为 ng-disabled 规定一个元素是否被禁用 ng-focus 规定聚焦事件的行为 ng-form 指定 HTML 表单继承控制表单

5.3K41

使用Angular8和百度地图api开发《旅游清单》

UI的使用 项目简介 《旅游清单》项目的背景主要是为了让笔者更好的掌握angular8,因为之前做的项目主要是使用vue和react,作为一名合格的coder,必须博学而专一,也是因为笔者早年大学时期想要做的一个想法...其次我们可以首页添加未来的旅游规划和预算,方便后面使用。的大陆页面主要展示的你去过的和即将要去的路线,可以进行相关操作。...组件 每个 Angular 应用都至少有一个组件,也就是根组件,它会把组件树和页面中的 DOM 连接起来。...百度地图api及跨域问题解决 我们进入百度地图官网,去控制台创建一个应用,此时会生成对应的应用ak,如下: 本地调试时将referer写成*即可,但是我们用ng的http或者fetch去请求api接口时仍会出现跨域...提供的FormBuilder来处理表单数据,这里需要注意,我们提交表单的时候,需要先调用百度地图的api去生成经纬度数据,之后一起添加到清单,这样做的目的是要想画路线图,我们需要给百度地图api提供经纬度数据

6K30

Angular 结合 NG-ZORRO 快速开发

这是参与「掘金日新计划 · 4 月更文挑战」的第7天。 连更的这几天的文章,我们已经了解了不少 angular 的知识点了,这次我们来个小成品。...得到的基本骨架如下: image.png 完成用户列表 接下来完成用户列表的骨架,因为使用了 UI 框架,么写起来异常的方便: 获取用户列表 // user.component.html <nz-table...上面完成,我们得到列表信息如下: image.png 新增用户和编辑用户 我们简单建立个表单,里面含有的字段就两个,分别是 name 和 position。...这两个功能是公用一个表单的~ 我们 html 中添加: // user-info.component.html <form nz-form [formGroup]="validateForm" class...提交表单的操作也是按照该标志符进行判断。我们直接对 localStorage 的信息进行变更,以保证同步列表信息。 删除功能 我们引入模态对话框进行询问是否删除。

1.7K10

一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

而言,最好使用更智能的编辑器vim,因为它会为代码中的任何错误提供额外的补充,因为TypeScript是强类型的。...,我们会在JS控制台中看到下一个错误:Can't bind to 'card' since it isn't a known property of 'app-card'.。...使用模板驱动的表单与以前使用简单的HTML表单完全相同。如果我们需要更复杂的东西,那么Angular中有一种不同的形式:反应式。我们将介绍转换表单他们的反应。...如果我们现在打开我们的应用程序并查看开发者控制台的网络标签,我们会看到cards.module.chunk.js只有我们点击/cards链接才会加载。...我们还使用Gulp来压缩我们的工件,因为Angular CLI 不再为我们做。觉得很奇怪,但好吧,让我们添加Gulp和压缩脚本。

42.5K10

浅谈 Angular 项目实战

为什么使用 Angular 不是 Angular 的布道者,但如今自称 Angular 派,使用 Angular 做项目让有一种兴奋感。...因为去年的项目几乎都是后台管理系统,所以框架用的不多,主要还是传统方式开发,后期为了改善前端开发体验,逐步向框架靠拢。...其中使用 ng build 打包可能会有资源引用错误的问题,可以看一下使用 ng build 构建资源地址引用错误的问题。...关于异步开发的历史面试中有遇到过,可以说的东西很多,比如回调函数、Promise、迭代器和生成器、async 和 await,除此之外,RxJS 中的可观察对象(Observable)应该是下一个更强大的异步编程方式...刚开始使用时,也是因为这个原因被坑了一把。

4.5K00

AngularDart4.0 英雄之旅-教程-04明细 顶

完成此页面,该应用应该看起来像这个实例(查看源代码)。 必备条件 继续本“英雄之旅”页面之前,请确认您在“英雄编辑器”页面之后具有以下结构。...-- each hero goes here --> 下一步你将添加英雄名字 使用ngFor指令罗列英雄 目标是将组件中的英雄列表绑定到模板,迭代它们,并单独显示它们。...ngFor指令遍历组件的英雄列表并为该列表中的每个英雄呈现该模板的一个实例。 表达式部分将hero标识为模板输入变量,其中包含每个迭代的英雄详情。...当用户点击英雄的名字时,所选择的英雄初始化。...Angular无法显示null selectedHero的属性并抛出以下错误,浏览器的控制台中可见: EXCEPTION: TypeError: Cannot read property 'name

3K30

angular入门教程_初学者织围巾简单教程慢动作

尤其是2016年,这一整年的时间都代表 Angular 项目组中国进行技术推广。在这5年,超过40家企业、开源组织、大学里面进行了大量演讲,在网络上发布了大量的视频和文章。...举几个典型的例子: 很多开发者到我这里来抱怨说, Windows 平台上安装 @angular/cli 会报很多 error,那是因为 @angular/cli Windows 平台上面依赖...因为你迟早会发现,计算机领域,任何东西研究到最底层都和“算法”、“数据结构”、“设计模式”有关。而就所知,很多朋友并不具备研究这些内容的基础知识,不过是白白浪费自己的时间而已。...安装完成之后,使用 ng serve 命令启动项目: 打开你的浏览器,访问默认的4200端口,看到以下界面说明环境 OK 了: 请注意: 这里是 serve,不是 server,看到一些初学者经常坑在这个地方...一些常见的坑 @angular/cli 这种“全家桶”式的设计带来了很大的方便,同时也有一些人不太喜欢,因为很多底层的东西屏蔽掉了,开发者不能天马行空地自由发挥。

3.3K20

angular面试题及答案_angular面试

ngOninit:初始化指令或组件,angular第一次显示展示组件的绑定属性调用,该方法只会调用一次 ngDocheck:检测 ngAfterContentInit:当把内容投影进组件之后调用,...Promise只处理一个事件 Observable可取消 Promise不可取消 14. AsyncPipe ?...component控制视图(html).组件之间以及组件和service之间互相交互给app提供功能 module是包括一个或多个组件,module不会控制视图(HTML)。...module声明了哪些模块可以其他模块使用,依赖注入了哪些类,以及启动的component,模块来管理组件,使app实现模块化。 21. 怎样组件中选择一个元素?...当类初始化之后,构造函数会被调用 ngOnInit ngOnInit 是angular中OnInit钩子的实现,用来初始化组件。

10.9K120

AngularJS快速入门

记得第一次听说AngularJS这项很赞的Web的前端技术,那时还是2014年,年中时我们的一个大牛兄弟当时去面试时,问到了是否熟悉该技术,当时他了解和使用的技术比较多。...AngularJS诞生于2009,用在很多我们熟知的Google应用,例如Gmail、Maps,它主要致力于快捷的构建AJAX应用,示例库Github的地址为:https://github.com...框架的有效范围,这样可以很好的与遗留程序兼容;ng-repeat迭代数据;ng-model绑定数据,这是个双向绑定,View中的修改会影响到model,之后会有表单输入的例子再次强化这个概念;ng-click...大体来说,Angular程序一次请求的流程:用户请求应用起始页;浏览器向服务器发起http连接,加载index.html模板页面;Angular加载到页面中,等待页面加载完成,然后查找ng-app指令...表单输入 框架中使用表单元素非常简单,可以通过ng-model将表单元素绑定到模型属性上,达到双向绑定的目的,这部分和.NET中的数据绑定效果一致;表单提交时,ng-submit会自动阻止浏览器默认的

2.5K50

【to B管理端】后台管理系统的消息反馈如何设计

何时使用: 完结某个独立页面的反馈(如:提交某个落地页表单一个操作区域或一系列操作完成之后的总体反馈(如:提交分步骤表单中的某个表单某个操作点之后的反馈(如:点击关闭某个功能的结果反馈)...,全局反馈条有自动消失和手动关闭两种 • 弹窗反馈:对于操作反馈内容多且内容必须让客户看到,或者还有下一步操作指引时,建议使用弹窗反馈结果 • 落地页反馈:用于某个任务流结束的结果反馈,且用户非常关注此任务的结果时...如腾讯云控制台中橙色提示条的使用,通常是用来告知用户一些较为重要的警示信息,若不处理可能会影响业务正常运行。...用数学公式表达为:时间 T = a + b log2(D/S+1),设计中的应用之一就是就近原则,反馈出现在操作点最近的地方是最容易被发现且容易操作的。...如腾讯云控制台中的信息复制成功的反馈有两种,就近反馈和全局反馈,全局反馈出现在屏幕中央顶部,与相关的操作距离较远,且出现的时间较短,用户很难注意到,因此,表单中对于字段信息的复制反馈建议使用就近反馈。

1.2K43

带你认识 flask 全文搜索

下面是app/search.py模块,它使用Python控制台中向你展示的功能实现Elasticsearch的这三个函数: app/search.py: Search functions. from...你已经从Python控制台中看到了es.search()函数的示例用法。在这里发布的调用非常相似,但不是使用match查询类型,而是使用multi_match,它可以跨多个字段进行搜索。...这些对象会话提交不再可用,所以我需要在提交之前保存它们。使用session...._changes字典将这些对象写入会话提交仍然存在的地方,因为一旦会话提交将使用它们来更新Elasticsearch索引。...将method属性设置为get,因为希望表单数据作为查询字符串,通过GET请求提交。另外,创建的其他表单action属性为空,因为它们提交到渲染表单的同一页面。

3.5K20

Angular教程】-组件初识|8月更文挑战

selector: 标注组件的名称,使用组件的时候使用的就是它 templateUrl: 标注html模板的路径 styleUrls: 标注html模板使用的样式的路径,我们看到是用的数组格式,说明传递多个样式文件应该是没有问题的...组件相关的其他文件暂时先放一放,Vue开发的时候我们创建好的组件总是要挂载才能使用的,那angular需要挂载吗?...应为angular项目创建的时候默认初始化了git仓库,我们这会儿可以看到还有一个文件是有变化的,那就是app.module.ts,打开文件看就看到了新创建的组件已经自动的挂载到了全局的app上。...app-sizer> Resizable Text 通过演示可以看得出 app中的fontSizePx属性传入到...[ngStyle]="{ 'background-color': 'chocolate', width: '150px' }"> 绑定一组style试试 NgModel(只适用于表单元素

1.9K20

【译】.NET Core 3.0 Preview 3中关于ASP.NET Core的更新内容

这两个阶段的交付是有益的,因为: 它提高了站点的感知能力,因为用户界面可以更快地出现,而无需等待进行任何WebSocket连接,甚至运行任何客户端脚本。...,并运行它,你将获得一个基本表单,该表单在字段更改和表单提交时自动进行字段输入值的验证。...注册为新用户,我们将被重定向回应用程序,在那里我们可以看到我们成功地通过了身份验证。 ? 调用经过身份验证的API 如果我们点击获取数据,我们可以看到天气预报数据列表 ?...它使用HTTP/2进行传输,协议缓冲区作为接口描述语言,并提供诸如身份验证、双向流和流控制取消和超时等功能。 ? 这些模板创建了两个项目:一个是托管于ASP....请通过Github上提交问题让我们知道你的想法。

22.6K10

再谈angularJS数据绑定机制及背后原理—angularJS常见问题总结

两者的区别在于页面没有加载完毕 {{val}} 会直接显示到页面,直到 Angular 渲染该绑定数据(这种行为有可能将 {{val}} 让用户看到);而 ng-bind 则是 Angular 渲染完毕将数据显示...循环 新的 $digest 循环检测到变化 浏览器拿回控制器,更新 $scope. val.新值对应的 dom 调用了$scope....angular因为这个事件回调函数什么都没做就不进行脏检查吗?不会。 然后:#span1 隐藏掉了,会检查绑定在它上面的表达式吗?尽管用户看不到,但是 $scope....所以说不要怀疑用户输入表单angular 会不会监听页面左边导航栏的变化。 如何优化脏检查与运行效率 脏检查慢吗? 说实话脏检查效率是不高,但是也谈不上有多慢。简单的数字或字符串比较能有多慢呢?...因为 AngularJS 的 injector 是假设函数的参数名就是依赖的名字,然后去查找依赖项,那如果像下面这样简单注入依赖,代码压缩(参数重命名了),就无法查找到依赖项了。

7.7K40
领券