AngularJS处理数据表格

使用 np-repeat 指令

<table>
...
<!-- 这里使用ng-repeat指令来重复数据生成表格 -->
<tr ng-repeat="subject in student.subjects">
<td>{{ subject.name }}</td>
<td>{{ subject.marks }}</td>
</tr>
...
</table>

数据对象

  $scope.student = {
firstName: "Terry",
lastName: "Lee",
fees:500,
subjects:[
{name:'编程语言基础',marks:90},
{name:'C语言',marks:85},
{name:'HTML/CSS',marks:61},
{name:'Java',marks:85},
{name:'NodeJS',marks:65}
],
fullName: function() {
var studentObject;
studentObject = $scope.student;
return studentObject.firstName + " " + studentObject.lastName;
}
};

AnguarJS页面HTML元素控制

使用 ng-disabled 指令

   <td><input type="checkbox" ng-model="enableDisableButton">禁用右侧按钮</td>
<td><button ng-disabled="enableDisableButton">演示按钮</button></td>

说明:

定义一个model,这里为"enableDisableButton",再将model赋予ng-disabled指令,即可生效。

完整代码

<div ng-app="" class="ng-scope">
<table border="0">
<tbody><tr>
<th>控制操作</th>
<th>演示元素</th>
</tr>
<tr>
<td><input type="checkbox" ng-model="enableDisableButton" class="ng-valid ng-dirty">禁用右侧按钮</td>
<td><button ng-disabled="enableDisableButton">演示按钮</button></td>
</tr>
<tr>
<td><input type="checkbox" ng-model="showHide1" class="ng-pristine ng-valid">显示右侧按钮</td>
<td><button ng-show="showHide1" class="ng-hide">演示按钮</button></td>
</tr>
<tr>
<td><input type="checkbox" ng-model="showHide2" class="ng-pristine ng-valid">隐藏右侧按钮</td>
<td><button ng-hide="showHide2" class="">演示按钮</button></td>
</tr>
<tr>
<td><p class="ng-binding">已点击次数: </p></td>
<td><button ng-click="clickCounter = clickCounter + 1">点击计数</button></td>
</tr>
</tbody></table>
</div>

AngularJS的表单数据验证

Angular中可以使用如下方式来实现表单数据验证:

$dirty - 此状态表明数据已修改
$invalid- 此状态表明输入数据非法
$error- 此状态表明具体的验证错误

<div ng-app="" ng-controller="studentController" class="ng-scope">
<form name="studentForm" class="ng-pristine ng-valid ng-valid-required">
<table>
<tbody><tr>
<td>姓:</td>
<td>
<input name="lastname" type="text" ng-model="lastName" required="" class="ng-pristine ng-valid ng-valid-required">
<span style="color:red" ng-show="studentForm.lastname.$dirty &amp;&amp; studentForm.lastname.$invalid" class="ng-hide">
<span ng-show="studentForm.lastname.$error.required" class="ng-hide">必须填写姓</span>
</span>
</td>
</tr>
<tr>
<td>名:</td>
<td>
<input name="firstname" type="text" ng-model="firstName" required="" class="ng-pristine ng-valid ng-valid-required">
<span style="color:red" ng-show="studentForm.firstname.$dirty &amp;&amp; studentForm.firstname.$invalid" class="ng-hide">
<span ng-show="studentForm.firstname.$error.required" class="ng-hide">必须填写名</span>
</span>
</td>
</tr>
<tr>
<td>邮件:</td>
<td>
<input name="email" type="email" ng-model="email" length="100" required="" class="ng-pristine ng-valid-email ng-valid ng-valid-required">
<span style="color:red" ng-show="studentForm.email.$dirty &amp;&amp; studentForm.email.$invalid" class="ng-hide">
<span ng-show="studentForm.email.$error.required" class="ng-hide">必须填写邮件</span>
<span ng-show="studentForm.email.$error.email" class="ng-hide">邮件格式错误</span>
</span>
</td>
</tr>
<tr>
<td>
<button ng-click="reset()">重置表单</button>
</td>
<td>
<button ng-disabled="studentForm.firstname.$dirty &amp;&amp; studentForm.firstname.$invalid ||
studentForm.lastname.$dirty &amp;&amp; studentForm.lastname.$invalid ||
studentForm.email.$dirty &amp;&amp; studentForm.email.$invalid" ng-click="submit()">递交表单</button>
</td>
</tr>
</tbody></table>
</form>
</div>
 function studentController($scope) { 

   //调用reset将表单输入框对应值设置为如下缺省值
$scope.reset = function(){
$scope.firstName = "terry";
$scope.lastName = "lee";
$scope.email = "terrylee@gbtags.com";
} $scope.reset();
}

(三)Angularjs - 小实例的更多相关文章

  1. (四)Angularjs - 小实例(2)

    自定义指令编写时钟 模板 <!-- 模板文件 --><html> <!-- 内置的ng-app指令通知编译器启动AngularJS框架--> <body ng ...

  2. (练习题)利用构造器函数实现三个小实例——不使用String()与Array()构造器和Math对象,不使用内建的方法的方法和属性。

    1)在String()构造器不存在的情况下自定义一个myString()构造器函数.由于String()不存在,因此您在写构造器函数时不能使用任何属于内建String对象的方法和属性.并让你所创建的对 ...

  3. python项目实战三个小实例

    1.   让用户输入圆的半径,告诉用户圆的面积: import math while True:     # 用户输入     r = input("请输入圆的半径:")     ...

  4. WCF小实例以及三种宿主

    WCF小实例以及三种宿主 最近一直在学习WCF相关知识,下面将通过一个小实例对所学的知识进行简单的回顾:本实例是一个简单三层操作数据库,并且也简单实现的三种宿主(控制台宿主,IIS宿主以及Window ...

  5. CSS应用内容补充及小实例

    一.clear 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  6. 一个简单的Android小实例

    原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台   3.安装J ...

  7. angularjs directive 实例 详解

    前面提到了angularjs的factory,service,provider,这个可以理解成php的model,这种model是不带html的,今天所说的directive,也可以理解成php的mo ...

  8. [置顶] Cocos2d-x 实例源码分析之二 小实例的主框架

    这篇文章是分析第一个小实例ActionTest的源码.其实所有实例程序的结构都是一样的,只有特定方法里的代码不同,大的框架都是一样的.也就是说看完这篇文章你就可以自己开始分析其他源码了. 废话不多说, ...

  9. Python_爬虫小实例

    爬虫小实例 一.问题描述与分析 Q:查询某一只股票,在百度搜索页面的结果的个数以及搜索结果的变化. 分析: 搜索结果个数如下图: 搜索结果的变化:通过观察可以看到,每个一段时间搜索结果的个数是有所变化 ...

随机推荐

  1. Razor 语法

    Razor 语法 原文:Razor Syntax Reference作者:Taylor Mullen.Rick Anderson翻译:刘怡(AlexLEWIS)校对:何镇汐   什么是 Razor? ...

  2. 关于 mod_python

    首先声明 本文 翻译 别人的文章,文章的作者是 mod_python 项目的负责人,目前 mod_python已由 Apache维护.原文地址: http://www.onlamp.com/pub/a ...

  3. poj 3686 The Windy's

    http://poj.org/problem?id=3686 #include <cstdio> #include <cstring> #include <algorit ...

  4. Codeforces Round #312 (Div. 2) B.Amr and The Large Array

    Amr has got a large array of size n. Amr doesn't like large arrays so he intends to make it smaller. ...

  5. 黑马程序员_Java基础组成

    Java语言基础组成 2.1关键字 main不是关键字,但被JVM所识别的名称. 关键字的定义和特点 定义:被Java语言赋予了特殊含义的单词. 特点:关键字中所有字母都为小写. 用于定义数据类型的关 ...

  6. 非常有利于seo的主题(红黄蓝绿)通用教程

    这篇教程是帮助刚使用Wordpres的朋友们的,免得自己弄得一头雾水.大江网络来教大家了解下如何设置自定义导航菜单. 一.首先进入后台,点击“外观”,选择“菜单”按钮,如下图: 然后看到右边界面中菜单 ...

  7. 在mac上利用homebrew安装软件

    在mac经常需要安装一些软件,你可以通过app store下载,或者可以通过浏览袭搜索下载.这里介绍通过homebrew安装一些软件,它会自动为你下载一些软件的相关依赖,免去安装的烦恼. 首先我们需要 ...

  8. 安装VS2012 update3提示缺少Microsoft根证书颁发机构2010或2011的解决方法

    警告提示如图: (copy的百度贴吧的童鞋的截图) 解决方法: 下载2010.10或2011.10的根证书即可 直通车:http://maxsky.ys168.com/ ——05.||浮云文件||—— ...

  9. motan源码分析一:服务发布及注册

    motan是新浪微博开源的服务治理框架,具体介绍请看:http://tech.sina.com.cn/i/2016-05-10/doc-ifxryhhh1869879.shtml. 本系列的文章将分析 ...

  10. AIX Study之--AIX网卡配置管理(ent0、en0、et0)

    AIX Study之--AIX网卡配置管理(ent0.en0.et0) 1.查看AIX系统网卡信息: [root@aix211 /]#lsdev |grep et  en0 Available 1L- ...