(三)Angularjs - 小实例
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 && 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 && 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 && 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 && studentForm.firstname.$invalid ||
studentForm.lastname.$dirty && studentForm.lastname.$invalid ||
studentForm.email.$dirty && 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 - 小实例的更多相关文章
- (四)Angularjs - 小实例(2)
自定义指令编写时钟 模板 <!-- 模板文件 --><html> <!-- 内置的ng-app指令通知编译器启动AngularJS框架--> <body ng ...
- (练习题)利用构造器函数实现三个小实例——不使用String()与Array()构造器和Math对象,不使用内建的方法的方法和属性。
1)在String()构造器不存在的情况下自定义一个myString()构造器函数.由于String()不存在,因此您在写构造器函数时不能使用任何属于内建String对象的方法和属性.并让你所创建的对 ...
- python项目实战三个小实例
1. 让用户输入圆的半径,告诉用户圆的面积: import math while True: # 用户输入 r = input("请输入圆的半径:") ...
- WCF小实例以及三种宿主
WCF小实例以及三种宿主 最近一直在学习WCF相关知识,下面将通过一个小实例对所学的知识进行简单的回顾:本实例是一个简单三层操作数据库,并且也简单实现的三种宿主(控制台宿主,IIS宿主以及Window ...
- CSS应用内容补充及小实例
一.clear 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 一个简单的Android小实例
原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台 3.安装J ...
- angularjs directive 实例 详解
前面提到了angularjs的factory,service,provider,这个可以理解成php的model,这种model是不带html的,今天所说的directive,也可以理解成php的mo ...
- [置顶] Cocos2d-x 实例源码分析之二 小实例的主框架
这篇文章是分析第一个小实例ActionTest的源码.其实所有实例程序的结构都是一样的,只有特定方法里的代码不同,大的框架都是一样的.也就是说看完这篇文章你就可以自己开始分析其他源码了. 废话不多说, ...
- Python_爬虫小实例
爬虫小实例 一.问题描述与分析 Q:查询某一只股票,在百度搜索页面的结果的个数以及搜索结果的变化. 分析: 搜索结果个数如下图: 搜索结果的变化:通过观察可以看到,每个一段时间搜索结果的个数是有所变化 ...
随机推荐
- Azure IoT
微软Azure IoT 国外物联网平台初探(二)——微软Azure IoT 马智 平台定位 连接设备.其它 M2M 资产和人员,以便在业务和操作中更好地利用数据. 连接 IoT 设备 将所有设备连 ...
- 伯克利DB的一个BUG
一旦没有手工close掉伯克利DB,则缓存里的数据不会主动写入到文件中,因此非常难于排查这个BUG,记录在这里提醒自己
- SANS top 20
What Are the Controls?The detailed Consensus Audit Guidelines are posted at http://www.sans.org/cag/ ...
- poj 2488A Knight's Journey
#include<cstdio> #include<cstring> #define MAXN 26 using namespace std; ,,-,,-,,-,}; ,-, ...
- Java---StringBuffer()方法的简单应用
描述:在实际应用中,经常回遇到对字符串进行动态修改.这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加.插入和替换等操作. 1.构造函数.StringBuffe ...
- HDOJ 1097 A hard puzzle(循环问题)
Problem Description lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how ...
- shell变量自增的几种方式
#!/bin/sh a= a=$(($a+)) a=$[$a+] a=`` let a++ let a+= ((a++)) echo $a 输出 : 转载自:http://blog.csdn.net/ ...
- 禁止UITextField 使用粘贴复制功能
在开发中有时候会遇到这样的需求,就是一个文本框里面的内容不允许用户复制,或者不允许用户将其它地方复制的内容粘贴进来,本文交给你怎么实现禁止 UITextField 的粘贴.复制. 在 UITextFi ...
- java笔记12之面向对象初始
1 概述 类:是一组相关的属性和行为的集合.是一个抽象的概念. 对象:是该类事物的具体表现形式.具体存在的个体. (1)面向对象思想 面向对象是基于面向过程的编程思想. ...
- 百度地图点聚合MarkerClusterer,性能优化
参考文献:http://www.cnblogs.com/lightnull/p/6184867.html 百度的点聚合算法 是基于方格和距离的聚合算法,即开始的时候地图上没有任何已知的聚合点,然后遍历 ...