(三)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:查询某一只股票,在百度搜索页面的结果的个数以及搜索结果的变化. 分析: 搜索结果个数如下图: 搜索结果的变化:通过观察可以看到,每个一段时间搜索结果的个数是有所变化 ...
随机推荐
- 省队集训day6 C
Description 给定平面上的 N 个点, 其中有一些是红的, 其他是蓝的.现在让你找两条平行的直线, 使得在保证 不存在一个蓝色的点 被夹在两条平行线之间,不经过任何一个点, 不管是蓝色 ...
- Java文件末尾追加字符串
Java进行文件输出时,有时候想直接向已有文件末尾追加字符,而不是从头开始写,可以采用以下三种方式实现: package test; import java.io.File; import java. ...
- Android 判断当前设备是手机还是平板
Android开发需要适配手机和平板,有些需求实现时就要求判断设备是手机还是平板.网上很多说通过设备尺寸.DPI.版本号.是否具备电话功能等进行判断,不过都不算太精确.这里分享一个简洁给力的方法(官方 ...
- 解决xp下无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本Wi
今天装 tortoisegit 的时候发现安装包不能使用.报错无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本Windows Installer服务的Window ...
- asp.net请求流程
http://developer.51cto.com/art/200902/109441.htm http://www.cnblogs.com/couhujia/archive/2010/04/21/ ...
- 教你如何用Qt做透明的窗体,setMask, Opacity
// In this function, we can get the height and width of the current widgetvoid Widget::resizeEvent(Q ...
- ajax使用jsonp解决跨域问题
发现这几篇博客写的不错,转载过来看: js跨域及解决方案 http://www.cnblogs.com/oneword/archive/2012/12/03/2799443.html 如何解决aj ...
- Silverlight 模板(Template)使用
模板(Template)是控件另一种样式 它和样式(style)不同的是它允许已有的控件进行组合新的一个控件样式 那么先看一下最简单Template代码 xaml代码 <Button Conte ...
- 简单的多表插入(oracle)
简单的多表插入语句: insert all into 表1(字段1,2...) values(值1,值2......) into 表2(字段1,2...)) values(值1,值2......) s ...
- 搭建完整邮件系统(postfix+dovecot+clamAV+Spamassassin+amavisd-new)
============================ 相关软件: 1. 发送邮件 --- postfix 2. 身份认证 --- sasl2 3. 接收邮件 --- dovecot 4. 防病毒邮 ...