Angular随笔第二课

一.  列表表格以及其它迭代型元素

ng-repeat 可能是最有用的angular指令了,它可以根据集合中的项目一次创建一组元素的多份拷贝。不管在什么地方,只要你想创建一组事物的列表,你就可以使用这条指令。

比方说:我们正在为老师们编写一套学生花名册系统,我们当然需要从服务器上获取学生信息,但是对于当前这个列子来说,我们还是把模型直接定义在javascript代码里面:

var students =[

{name: ‘Mary Contrary‘,id:‘1‘},

{name: ‘Jack Contrary‘,id:‘2‘},

{name: ‘Jill Contrary‘,id:‘3‘}

]

function student($scope) {

$scope.students = students;

}

为了显示这个学生列表,我们可以编写下面的代码:

<ul ng-controller="student">
     <li ng-repeat="student in students">
          <a href="/student/view/{{student.id}}">{{student.name}}</a>
     </li>
</ul>

ng-repeat 将会生产标签内部所有HTMl元素的一份拷贝,包括放指令的标签。经过这样的操作之后,我们将会看到输出为(列表的形式输出):

Mary Contrary     Jack Contrary     Jill Contrary

根据具体的情况分别链接到/student/view/1    /student/view/2     /student/view/3

正如我们所看到的,修改学生信息数组将会自动刷新所渲染的列表,如果我们需要向列表中插入一条新的学生信息,可以这样写:

$scope.insert=function(){

$scope.students.splice(1,0,{name:‘tom‘,id:‘4‘});

}

然后在加一个按钮在模板中调用新增的函数

<button ng-click="insert()"></button>

我们现在将会看到   Mary Contrary     Jack Contrary     Jill Contrary      tom

ng-repeat 指令可以通过$index返回当前引用的元素序号;还可以通过$first  $middle $last,ng-repeat指令返回布尔值,告诉你当前元素是否是集合中的第一个  中间的某个元素  或者最后一个元素。

你可能需要使用$index在表格张显示出行号,那么你只要编写这么一句话即可     <td>{{$index+1}}</td>

二:隐藏和显示

对于菜单 上下文敏感的工具以及很多其他情况来说,显示和隐藏元素是一项核心的功能。与angular中其他功能一样,我们通过修改数据模型的方式来驱动UI刷新,然后通过指令变更反应到UI上。

下面的这个列子将会使用ng-show和ng-hide。这2条指令的功能是等价的,但是运行效果正好相反,它们都可以根据你所传递的表达式显示或者隐藏元素。也就是说,ng-show在表达式为true时将会显示元素,为false时将会隐藏元素。而ng-hide则恰好相反,哪一条指令更能表达你的意图,你就使用哪一条。

这2条指令的工作原理是:根据实际情况把元素的样式设置为display:block;来显示元素,设置为display:noen;来隐藏元素,设置元素为display:none来隐藏元素。接下来让我们看一个小列子。

<div ng-controller="menu" ng-app = ‘myApp‘>
     <button ng-click="toggle()">Toggle menu</button>
     <ul ng-show="show">
          <li ng-click="stun()">stun</li>
          <li ng-click="disin()">disin</li>
          <li ng-click="erase()">erase</li>
     </ul>
</div
<script type="text/javascript">
     angular.module(‘myApp‘,[]).controller(‘menu‘,function($scope){
          $scope.show = false;
          $scope.toggle = function () {
               $scope.show = !$scope.show;
          }
     })
     </script>

时间: 2024-10-15 02:54:33

Angular随笔第二课的相关文章

Angular随笔第一课

一.调用angular 加载angular.js库(可以从google的cdn中加载类库,https://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js,也可以下载到本地,楼主我就是下载到本地来引入代码的) 使用ng-app指令告诉angular应该管理dom中的哪一部分. 二.使用ng-app申明angular的边界 你可以使用ng-app指令告诉angular应该管理页面的哪一块,如果你正在构建一款纯angular应用

第二课:IOS(App)UIImage控件与TextField控件学习

作为一名实习生我是1.3.5在办公室工作,2.4.6去另一个地方听课学习IOS(app)课程,为了不落下课程,我准备每天晚上把落下的课程自学一遍,把不懂的记下等去听课的时候问老师,希望自己能跟上学习的步伐,不浪费时间.这一课是前几天听的,今天一起也写上了. 第二课:IOS(App)UIImage控件与TextField控件的学习,代码如下 一:UIImage控件代码:把图片添加到视图中并设置大小,这里没有牵涉到图片背景的颜色设置,我猜想应该是没必要去设置的吧,因为没有按钮功能的话背景颜色也看不到

grails2.3.11第二课

第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 https://grails.org/plugins 内部插件地址 http://maven.info.bit.edu.cn 主要介绍了常用的一些插件吧,每个插件的用法不尽相同,但是有一个共同点是要在BuildConfig.groovy这个配置文件里 compile 相关插件. 常用的包括: 前端插

【C语言探索之旅】 第三部分第二课:SDL开发游戏之创建窗口和画布

内容简介 1.第三部分第二课: SDL开发游戏之创建窗口和画布 2.第三部分第三课预告: SDL开发游戏之显示图像 第三部分第二课:SDL开发游戏之创建窗口和画布 在上一课中,我们对SDL这个开源库做了介绍,也带大家配置了SDL的开发环境.请大家按照上一课的步骤创建一个SDL工程,能够初步运行. 如果遇到问题,可以百度,Google相关平台SDL的配置.或者联系小编. 当然了,有些朋友可能会说开发C语言游戏还可以用GTK+这个库,但是个人认为GTK+没有SDL那么适合开发游戏,其创建图形界面的能

【Cocos游戏实战】功夫小子第二课之基础类分析和实现

本节课的视频教程地址是:第二课在此 如果本教程有帮助带您,希望您能点击进去观看一下,而且现在注册成为极客学院的会员,验证手机号码和邮箱号码会赠送三天的会员时间,会员可以无限制的下载和观看所有的视频,谢谢您的支持! 在开始第二节课之前,这里需要声明的是, 首先:本系列课程是为了结合Cocos2d-x 3.x 的基本组件和核心模块的学习而制作的,开发所使用的版本是3.0,但是代码稍加修改就可以运用在3.X的其他版本上. 其次:本游戏项目是一个非商业化项目,游戏资源和代码都会在后续的课程中释放出来,供

【转】第二课.配置和初始化

原文网址:http://fsjoy.blog.51cto.com/318484/244803 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://fsjoy.blog.51cto.com/318484/244803 第二课.配置和初始化 配置git 在使用git之前你需要配置一下git.git在你创建提交的时候会记录你的名字和email地址,所以你应该告诉git这些内容.可以使用'git config'命令来设置,如果传递参数'-

ThinkPHP第二课 框架MVC目录和URL访问方式

第二课 框架MVC目录和URL访问方式 1.说明: ThinkPHP是基于MVC的框架,认识框架目录将更好的实现分层,掌握ThinkPHP.URL访问就是访问框架的控制器(MVC中的C),共有四种方式,框架中的C起到分模块的作用. url的4种访问方式: 1.PATHINFO 模式 -- 重点!!!!!! http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2 2.普通模式 http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2

【Web探索之旅】第二部分第二课:服务器语言

内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HTML,CSS和JS),那么我们服务器端岂能逊色呢,对吧. 服务器端也有不少种编程语言.这些编程语言写成的程序会在服务器端的电脑上被执行. 如果说客户端的语言编写的程序决定了我们的网页的外观,那么服务器端的语言编写的程序决定了网页的功能和如何与用户交互. 你也许会问:"既然我们可以用HTML,CSS和

【C语言探索之旅】 第二部分第二课:进击的指针,C语言的王牌!

内容简介 1.课程大纲 2.第二部分第二课: 进击的指针,C语言的王牌 3.第二部分第三课预告: 数组 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量类型