前言

此文章主要收集自己在用angular+antd过程中所遇到的坑,以及angular框架所遇到的一些难题。

1、表单中动态绑定数据报错:ngModel cannot be used to register form controls with a parent formGroup directive. Try using; formGroup’s partner directive “formControlName” instead.

这个报错的意思就是 当我们在表单中手动去动态绑定数据的时候,没使用表单的formControlName来进行数据绑定。因为表单在我看来属于一个房子,你想在我这里面做什么事,你就得听我的,你不能私自为所欲为。

比如我们给input动态绑定

<input nz-input placeholder="请输入" [(ngModel)]="value" />

这时候需要添加一个属性:

<input nz-input placeholder="请输入" [(ngModel)]="value" [ngModelOptions]="{standalone: true}" />

把当前数据组件变成 独立的即可,就不会受form表单控制了。不止input,包括其他的表单组件,select…等。

2、ngFor循环绑定input框动态数据报错:Cannot assign value “$event” to template variable “item”. Template variables are read-only.

代码演示:

<div class="a" *ngFor="let item of list;"><input nz-input placeholder="请输入" [(ngModel)]="item" />
</div>

修改:

<div class="a" *ngFor="let item of list; let index = index;"><input nz-input placeholder="请输入" [(ngModel)]="list[index]" />
</div>

3、ngFor循环绑定input输入框时,当我们输入的时候,每输入一个字符(点击键盘),input框就会失去焦点

这个问题就跟vue中的key有关系,当我们输入的时候,Angular看到了新的对象引用组成的新的列表,它只能用所有新的 DOM 元素替换旧的 DOM 元素,导致input也是新的input了,就会失焦。
我们解决办法,就是追踪index下标值。

代码演示:

<div class="a" *ngFor="let item of list; let index = index;"><input nz-input placeholder="请输入" [(ngModel)]="list[index]" />
</div>

修改:

<div class="a" *ngFor="let item of list; let index = index; trackBy: trackByFn;"><input nz-input placeholder="请输入" [(ngModel)]="list[index]" />
</div>public trackByFn(index: number): number {return index;
}

Angular + ng-antd-zorro 踩坑指南相关推荐

  1. Egg整合antd文件上传以及防踩坑指南

    Egg整合antd文件上传以及防踩坑指南 前言 一. 项目编写 二. 注意事项 2.1 清理缓存 2.2 antd的Upload组件得到的事件对象问题 2.3 关于onChange事件的注意 前言 最 ...

  2. Git Commit Message校验踩坑指南

    背景 在团队多人开发中,规范的commit message可以快速定位代码提交历史,回溯问题根源,方便组内多人协作,提高团队效率. 本篇文章主要包含以下两方面内容: commitizen/cz-cli ...

  3. pytorch .item_从数据到模型,你可能需要1篇详实的pytorch踩坑指南

    原创 · 作者 | Giant 学校 | 浙江大学 研究方向 | 对话系统.text2sql 熟悉DL的朋友应该知道Tensorflow.Pytorch.Caffe这些成熟的框架,它们让广大AI爱好者 ...

  4. tabbar角标 小程序_【沃行课堂】恭喜你遇到“坑”,小程序踩坑指南

    上周我们的开发小哥哥带领我们一起领略了开发中遇到的各种问题,以及基于SaaS模式的平台技术架构及实现.本周我们换个方向,由高级开发工程师秋哥带领大家共同探讨下小程序开发中踩过的坑.秋哥会从公司的几个小 ...

  5. MacBook通过XGP玩女神异闻录5皇家版不踩坑指南

    XGP是微软Xbox游戏通行证服务,全称Xbox Game Pass,俗称西瓜皮. 女神异闻录5皇家版(P5R)登录了全平台,XGP会员可以通过云游戏在MacBook中游玩,本篇为MacBook玩P5 ...

  6. 联调中通wincall平台-踩坑指南

    开发踩坑指南 初始化阶段 new CTIPlus({token: user.token, //tokenagentPhone: user.phone, //坐席工号或者手机号agNo: user.ag ...

  7. Spring Cloud踩坑指南

    Spring Cloud踩坑指南 1 Spring Cloud搭建 参考 Spring Cloud 微服务技术栈:搭建高可用 Eureka Server.服务注册与发现 2 常见问题 2.1 修改ho ...

  8. openssl开发库安装时的踩坑指南

    序 前几天用linux编译一个提权脚本的时候报错 openssl/opensslv.h: 没有那个文件或目录 的问题 无论如何也解决不了,这下我记录一个踩坑指南防止下一个人掉进坑里 操作 总体介绍 首 ...

  9. Pychram连接mist远程服务器踩坑指南

    Pychram连接mist远程服务器踩坑指南 ##Mist使用方法 首先需要到MistGpu官网注册一个账号,注册就送8元的免费体验,Mist官网:https://mistgpu.com/,然后选择创 ...

  10. 阿里云天池【Docker练习场】踩坑指南

    阿里云天池[Docker练习场]踩坑指南 题目直达 提交环境搭建(基于macOS) Docker的安装与基本功能使用 Docker安装过程遇到的小问题 提交结果注意事项 提交时的镜像配置 项目结构规范 ...

最新文章

  1. 查linux还是unix,C、C++判断操作系统是Linux、windows还是Unix
  2. 动态矩阵控制 MATLAB代码
  3. 思科交换机Vlan配置以及VLAN应用场景
  4. c语言计算机二级考试要点,全国计算机二级考试c语言考试要点
  5. 文件与文件夹课后作业
  6. cmd不能用的解决方法
  7. ssm创建一个查询接口
  8. MarkDown基础语法记录
  9. java中的装箱及拆箱
  10. 自学UI设计,应当具备的基础技能(软件)
  11. Postman使用总结(1)——Postman 自动化测试小结
  12. 190117每日一句
  13. java后台生成动态二维码
  14. 计算机病毒库更新记录表,计算机病毒库
  15. 标书制作详细教程(零基础速成,助力公司中标)
  16. 计算机技能大赛获奖发言,技能大赛获奖感言
  17. excel怎么设置自动计算_用Excel,做一套税费计算表|自动计算 自动汇总 四个税种【梓晖】...
  18. Unity Shader 一 激光特效Shader
  19. 【制作】基于金沙滩51单片机的电子跑表
  20. 送男孩子情人节礼物送什么?情人节必备礼物合集

热门文章

  1. xe-utils 任意日期转换、格式化函数,IE8+
  2. 一次全部更改ppt中的字体
  3. TreeView节点设置图标
  4. 我的世界服务器自定义怪物怎么用,我的世界自定义怪物和掉落装备教程
  5. php smtp 安装,服务器_个人SMTP邮件服务器简单配置,一、安装POP3和SMTP服务组件- phpStudy...
  6. 模仿百度卫士手机版应用源码项目最新版更新版
  7. ubuntu下VSCode的配置
  8. OPPO图片地理信息查看和设置
  9. 人工智能治疗儿童感冒表现优异;苹果称替APP背了大数据杀熟的锅
  10. Android9.0设置AlertDialog修改底部按钮居中等