Angular基础---HelloWorld---Day3


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hello-alien

您的鼓励,是我最大的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值