ng-model 指令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ng-model 指令相关的知识,希望对你有一定的参考价值。

ng-model 指令 绑定 HTML 元素 到应用程序数据。

ng-model 指令也可以:

  • 为应用程序数据提供类型验证(number、email、required)。
  • 为应用程序数据提供状态(invalid、dirty、touched、error)。
  • html 元素提供 CSS 类。
  • 绑定 HTML 元素到 HTML 表单。

 

双向绑定

<div ng-app="myApp" ng-controller="myCtrl">

    名字: <input ng-model="name">

    <h1>你输入了: {{name}}</h1>

</div>

验证用户输入

<form ng-app="" name="myForm">

    Email:

    <input type="email" name="myAddress" ng-model="text">

    <span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>

</form>

应用状态

ng-model 指令可以为应用数据提供状态值(invalid, dirty, touched, error):

<form ng-app="" name="myForm" ng-init="myText = ‘[email protected]‘">

    Email:

    <input type="email" name="myAddress" ng-model="myText" required></p>

    <h1>状态</h1>

    {{myForm.myAddress.$valid}}

    {{myForm.myAddress.$dirty}}

    {{myForm.myAddress.$touched}}

</form>

属性

描述

$dirty

表单有填写记录

$valid

字段内容合法的

$invalid

字段内容是非法的

$pristine

表单没有填写记录

CSS 类

ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类:

<style>

input.ng-invalid {

    background-color: lightblue;

}

</style>

<body>

 <form ng-app="" name="myForm">

    输入你的名字:

    <input name="myAddress" ng-model="text" required>

</form>

ng-model 指令根据表单域的状态添加/移除以下类:

    • ng-empty
    • ng-not-empty
    • ng-touched
    • ng-untouched
    • ng-valid
    • ng-invalid
    • ng-dirty
    • ng-pending
    • ng-pristine

以上是关于ng-model 指令的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS - 创建一个使用 ng-model 的指令

AngularJS - 无法使用指令在 ng-model 中引用 $index

如何在指令中为 ng-model 设置正确的范围?

使用 ng-model 获取文件输入的指令 [重复]

`<input type="file"/>` 的 ng-model(带有指令 DEMO)

AngularJS解决ng-if中的ng-model值无效的问题(转)