(二)Angularjs - 小实例

AngularJS处理数据表格

使用 np-repeat 指令

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

数据对象

 1  $scope.student = {
 2       firstName: "Terry",
 3       lastName: "Lee",
 4       fees:500,
 5       subjects:[
 6          {name:‘编程语言基础‘,marks:90},
 7          {name:‘C语言‘,marks:85},
 8          {name:‘HTML/CSS‘,marks:61},
 9          {name:‘Java‘,marks:85},
10          {name:‘NodeJS‘,marks:65}
11       ],
12       fullName: function() {
13          var studentObject;
14          studentObject = $scope.student;
15          return studentObject.firstName + " " + studentObject.lastName;
16       }
17    };

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>

 1 function studentController($scope) {
 2
 3   //调用reset将表单输入框对应值设置为如下缺省值
 4   $scope.reset = function(){
 5     $scope.firstName = "terry";
 6     $scope.lastName = "lee";
 7     $scope.email = "[email protected]";
 8   }
 9
10   $scope.reset();
11 }   
时间: 2024-11-10 07:02:22

(二)Angularjs - 小实例的相关文章

(四)Angularjs - 小实例(2)

自定义指令编写时钟 模板 <!-- 模板文件 --><html> <!-- 内置的ng-app指令通知编译器启动AngularJS框架--> <body ng-app="ezstuff"> <!-- 我们自己定义的ez-clock指令通知编译器生成时钟widget--> <ez-clock></ez-clock> </body> <script src="angular.js

Flex入门(二)——Flex+BlazeDs+J2ee小实例

首先来简单介绍一下BlazeDS. BlaseDS的核心功能包括RPC Services(远程过程调用服务) 和Messaging Service(消息服务).BlazeDS是一个基于服务器的Java远程调用(remoting)和web消息传递(messaging)技术,使得后台的Java应用程序可以和运行在浏览器上的Flex应用程序能够互相通信.简单来说一个BlazeDS应用包括客户端(Flex或AIR应用程序)和一个服务端(J2EE程序).BlazeDS在期间起着承上启下的作用,Flex和B

canvas实践小实例二 —— 扇形

俗话说:发图不留种,菊花万人捅!我这里想延伸一下:教学不给例,说你是傻逼!哎呀,还挺押韵,嘻嘻,开个玩笑! 我们都讲了四期API的知识了,估计大家看的也是枯燥的很啊,前面的小实例也是太简单,简直不解渴啊,但是也不能一口气就吃成一个胖子,下面再给大家来一个小实例,给大家提提神! 前面在讲画圆的时候,给大家留了一个思考,或者说是一个坑吧,就是如何来画一个扇形?我们知道画圆的方法是无法一下子就能画出一个扇形的,我当时提供了一个方法,不知道大家是否有印象,没印象没关系,我再复述一遍:就是如果我画了一个圆

PHP去掉数组重复值二种方法实例

PHP两种去掉数组重复值的方法,分别使用foreach方法和array_unique方法. 去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $in

HTML小实例:通过PHP调用C++

一.在本地服务器目录下新建一个 test 文件夹,在此文件夹中新建文件: 1. cpp.html <!DOCTYPE html> <html> <head> <title>C++测试</title> </head> <body> <form method="post" action="cpp.php"> <div> <p>请测试文字,以空格分隔:&

Android实战简易教程-第五十八枪(AlarmManager类用法研究小实例)

一.概念及相关方法 android中实现定时任务一般有两种实现方式,一种是使用Java API中提供的Timer类,一种是使用android的Alarm机制.Timer机制有个短板就是不太适用于那些需要长期在后台运行的任务,我们都知道为了让电池更加耐用,会在长时间不操作手机的情况下,CPU进入休眠状态,这是可能导致Timer中的定时任务无法正确运行.所以我们重点来研究一下Alarm机制. AlarmManager,顾名思义,就是"提醒",是Android中常用的一种系统级别的提示服务,

回溯法小实例

1.图的m着色问题: 1 /* 2 *问题描述:给定无向连通图G和m种不同的颜色.用这些颜色为图G的各个顶点着色,每个顶点着一种颜色.是否有一种着色法使G中每条边的两个顶点着不同的颜色. 3 * 这个问题是图的m可着色判定问题.若一个图最少需要m中颜色才能使图中每条边连接的2个顶点着不同的颜色,则称这个数m为该图的色数. 4 *算法分析:给定图G=(V,E)和m中颜色,如果这个图不是m可着色,给出否定回答:如果这个图是m可着色的,找出所有不同的着色法. 5 * 回溯法+子集树 6 * 问题的解空

Spring aop 小实例demo

Hadoop从2.4.0版本开始支持hdfs的ACL,在CDH5.0当中也集成了该特性,下面对其进行一些测试: unnamed user (file owner) 文件的拥有者 unnamed group (file group) 文件的所属组 named user 除了文件的拥有者和拥有组之外,的其它用户 named group 除了文件的拥有者和拥有组之外,的其它用户 mask  权限掩码,用于过滤named user和named group的权限 一.启用ACL: <property>

Unity 动画系统 Animation 和 Animator的小实例

本文结合一个很简单的动画demo,分别采用2种方法,来对比Animation和Animator的使用方式: 方法1:单独使用Animation 方法2:Animation结合Animator 动画Demo 两个动画.一个是移动,一个是缩放. 实现方式的对比 一.单独Animation来实现 空场景,找到一张Sprite图片,拖到面板中,右键添加Animation组件.如下: 点中这张pig猪的图片,点击Unity的 Window->Animation->Animation.出现如下: 这个时候