Angular基础---HelloWorld---Day3

文章目录

      • 0.ng-model 的几种不同的class属性
      • 1.ng-model 的引用与属性的调用
      • 2.表单验证: (模版引用变量、ngModel 、ngif一起使用)
      • 3.根据class属性的值ng-invalid ,设置动态变化的样式


0.ng-model 的几种不同的class属性

引用ng-model 元素的class属性,有一些值是自动变化的,来反映ng-model的不同状态。class的值大致有如下:

idattributeremark
1ng-empty
2ng-not-empty不空
3ng-touched和控件进行过交互
4ng-untouched和控件没有进行过交互
5ng-valid表单通过验证
6ng-invalid表单未通过验证
7ng-valid-[key]:由$setValidity添加的所有验证通过的值
8ng-invalid-[key]:由$setValidity添加的所有验证失败的值
9ng-dirtytrue表示有修改表单
10ng-pending任何为满足$asyncValidators的情况
11ng-pristine控件为初始状态
# required 代表此输入框是必须有内容的
# [(ngModel)]="inputContent" 代表引入的ngModel数据,最终输出给inputContent这个变量<input required type="input box" [(ngModel)]="inputContent" [id]="'ng-model-attribute'">

在这里插入图片描述



1.ng-model 的引用与属性的调用


在ts文件中先声明变量,值的内容为空:
在这里插入图片描述


<hr>
<!-- ngModel 的引用和属性调用 -->
<form action="" [id]="'ng-model-cite'"><!-- 此处声明模版引用变量#nameInp,设置noModel的value值为fromData.name,  #nameInp="ngModel"代表将本元素的ngModel对象赋值给模版引用变量 -->账号:<input required #nameInp="ngModel" type="text" [(ngModel)]="fromData.name" name="userName123"><br><!-- nameInp.valid 直接调用ngModel的属性valie 是否为true -->元素是否有效:<span>{{nameInp.valid}}</span><br>ngModel的name: <span>{{nameInp.name}}</span><br>ngModel的值: <span>{{nameInp.value}}</span><br><br>密码:<input required #pasInp="ngModel" type="text" [(ngModel)]="fromData.password" name="password123"><br>元素是否有效:<span>{{pasInp.valid}}</span><br>ngModel的name: <span>{{pasInp.name}}</span><br>ngModel的值: <span>{{pasInp.value}}</span>
</form>

页面刷新看到的效果如下:
在这里插入图片描述


输入内容之后看到的效果如下:

在这里插入图片描述



2.表单验证: (模版引用变量、ngModel 、ngif一起使用)


<!-- 表单验证功能 -->
<form action="" [id]="'verify-form'">账号:<input required #nameInput="ngModel" type="text" [(ngModel)]="fromData.name" name="userName"><br><!-- 当ngModel所在元素input为invalid的时候,span渲染,出现提示框 --><span *ngIf="!nameInput.valid">请输入账号</span><br>密码:<input required #pasInput="ngModel" type="text" [(ngModel)]="fromData.password" name="password"><br><span *ngIf="!pasInput.valid">请输入密码</span><br><!-- 输出fromData数据信息 --><button (click)="subBtnFun(fromData)">提交信息</button>
</form>

刷新之后看到的效果:
在这里插入图片描述


输入内容之后看到的效果:
在这里插入图片描述


点击提交按钮看到的效果:
在这里插入图片描述



3.根据class属性的值ng-invalid ,设置动态变化的样式

在这里插入图片描述

在这里插入图片描述

项目代码地址:
https://gitee.com/super-alien/angularStudy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据体系规范化

基础是标准化、规范化 建立数据仓库,面向主题的、集成的、相对稳定的、反映历史变化的数据集合,以支持管理决策decision making 大数据:大量volumn、多样variety、快速velocity、价值密度低value、准确性veracity、可视化visualization、合法性validity 多源数据、多样数…

分布式执行引擎ray入门--(3)Ray Train

Ray Train中包含4个部分 Training function: 包含训练模型逻辑的函数 Worker: 用来跑训练的 Scaling configuration: 配置 Trainer: 协调以上三个部分 Ray TrainPyTorch 这一块比较建议直接去官网看diff&#xff0c;官网色块标注的比较清晰&#xff0c;非常直观。 impor…

MySQL-视图:视图概述、使用视图注意点、视图是否影响基本表

视图 一、视图概述二、使用视图注意点三、视图操作是否影响基本表 一、视图概述 在数据库管理系统中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;它并不实际存储数据&#xff0c;而是基于一个或多个实际表的查询结果。视图提供了一种对数据库中数据…

题目 2132: T1268-完全背包问题

题目描述: 设有n种物品&#xff0c;每种物品有一个重量及一个价值。但每种物品的数量是无限的&#xff0c;同时有一个背包&#xff0c;最大载重量为M&#xff0c;今从n种物品中选取若干件(同一种物品可以多次选取)&#xff0c;使其重量的和小于等于M&#xff0c;而价值的和为最…

RabbitMQ备份交换机

1. 备份交换机 备份交换机可以理解为 RabbitMQ 中交换机的“备胎”&#xff0c;当我们为某一个交换机声明一个对应的备份交换机时&#xff0c;就是为它创建一个备胎&#xff0c;当交换机接收到一条不可路由消息时&#xff0c;将会把这条消息转发到备份交换机中&#xff0c;由备…

reids设计与实现(一)——数据对象

文章目录 1. 前言2. redis 动态字符串2.1. 字符串的数据结构&#xff1a;2.2. 剖析&#xff0c;length&#xff1b;2.3. 剖析&#xff0c;free&#xff1b;2.3. 使用c字符串函数&#xff1b; 3. redis 链表4. 字典5. 跳跃表 1. 前言 reids作为最常用的缓存数据库&#xff0c;深…

web3 DePIN赛道之OORT

文章目录 什么是DePIN什么是oort背景&#xff1a;去中心化云计算场景团队OORT AIOORT StorageOORT Compute 参考 什么是DePIN DePIN是Decentralized Physical Infrastructure Networks的简称,中文意思就是去中心化的网络硬件基础设施,是利用区块链技术和代币奖励来调动分散在世…

mysql笔记:2. 表操作

文章目录 创建表创建表主键约束外键约束非空约束唯一约束默认值约束 查看数据表结构查看表详细结构 修改数据表修改表名修改字段名修改字段数据类型添加字段删除字段更改表的存储引擎 删除数据表删除没被关联的表删除被关联的表 数据表是数据库中最重要、最基本的操作对象&…

单例九品--第九品[可用的设计]

单例九品--第九品[可用的设计] 上一品引入写在前边代码部分实现方式的评注和思考写在最后 上一品引入 自第五品以来&#xff0c;为解决第四品的静态初始化灾难问题&#xff0c;将全局对象设置为指针类型&#xff0c;但是指针是有被修改的风险。所以第八品将全局单例对象封装在…

2024.02.07 校招 实习 内推 面经

绿*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;内推/实习/校招汇总表格 1、校招 | 腾讯TEG 2024 校招开放全新机会&#xff0c;持续热招&#xff08;内推&#xff09; 校招 | 腾讯TEG 2024 校招开放全新机会&#xff0c;持续热招&#xff08;内推&#xff09; …

【MATLAB】MATLAB学习笔记

MATLAB入门 基础操作变量命名数据类型逻辑和流程控制循环结构分支结构 绘图基本操作二维平面绘图绘图参数三位立体绘图图像窗口的分割 本文参考B站视频&#xff1a;BV13D4y1Q7RS 由于我对于C语言很熟悉&#xff0c;很多语法是会参考C来学 基础操作 清屏%% 清空环境变量及命令 …

图腾柱PFC工作原理:一张图

视屏链接&#xff1a; PFC工作原理

Java SE入门及基础(33)

final 修饰符 1. 应用范围 final 修饰符应该使用在类、变量以及方法上 2. final 修饰类 Note that you can also declare an entire class final. A class that is declared final cannot be subclassed. This is particularly useful, for example, when creating an imm…

docker学习笔记——Dockerfile

Dockerfile是一个镜像描述文件&#xff0c;通过Dockerfile文件可以构建一个属于自己的镜像。 如何通过Dockerfile构建自己的镜像&#xff1a; 在指定位置创建一个Dockerfile文件&#xff0c;在文件中编写Dockerfile相关语法。 构建镜像&#xff0c;docker build -t aa:1.0 .(指…

Effective C++ 学习笔记 条款22 将成员变量声明为private

下面是作者的规划。首先带你看看为什么成员变量不该是public&#xff0c;然后让你看看所有反对public成员变量的论点同样适用于protected成员变量。最后导出一个结论&#xff1a;成员变量应该是private。获得这个结论后&#xff0c;本条款也就大功告成了。 好&#xff0c;现在…

【Vue】生命周期

Vue生命周期 就是一个Vue实例从创建 到 销毁 的整个过程 生命周期四个阶段 1.创建阶段&#xff1a;创建响应式数据 2.挂载阶段&#xff1a;渲染模板 3.更新阶段&#xff1a;修改数据&#xff0c;更新视图 4.销毁阶段&#xff1a;销毁Vue实例 生命周期钩子 Vue生命周期过…

【每日一题】2834. 找出美丽数组的最小和-2024.3.8

题目&#xff1a; 2834. 找出美丽数组的最小和 给你两个正整数&#xff1a;n 和 target 。 如果数组 nums 满足下述条件&#xff0c;则称其为 美丽数组 。 nums.length n.nums 由两两互不相同的正整数组成。在范围 [0, n-1] 内&#xff0c;不存在 两个 不同 下标 i 和 j &…

阿里云实现两个VPC网络资源互通

背景 由于实际项目预算有限&#xff0c;两套环境虽然分别属于不同的专有网络即不同的VPC&#xff0c;但是希望借助一台运维机器实现对两个环境的监控和日常的运维操作 网络架构 如下是需要实现的外网架构图&#xff0c;其中希望实现UAT环境的一台windows的堡垒机可以访问生产…

前端软件工程师100问?

作为一个前端软件工程师&#xff0c;可能会遇到的问题非常多&#xff0c;以下是我为您精选的100个常见问题&#xff1a; 以上100个问题涵盖了前端开发的基础知识、框架应用、性能优化、安全性、兼容性、前沿技术等多个维度。作为前端软件工程师&#xff0c;了解这些问题有助于提…

第G3周:CGAN入门|生成手势图像

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 一、前置知识 CGAN&#xff08;条件生成对抗网络&#xff09;的原理是在原始GAN的基础上&#xff0c;为生成器和判别器提供 额外的条件信息…