Angular 中的filtre个人理解,就是这么个东西,如字面意思,过滤器,是将一个变量过滤(处理)一下,返回处理后的变量,如{{people | FilterName:para}},FilterName是过滤器的名字,people是其要处理的变量,para是可选的参数。其实,FilterName是一个函数,其返回值也是一个函数,people和para是这个返回值的参数。下面看一下具体的例子:
filter.html
<html>
<title>Test Filter</title>
<head>
<script src='E:\Angularjs\angular-1.0.8\angular.js'></script>
<script src='E:\filter.js'></script>
</head>
<body ng-app='filter' ng-controller='FilterController'>
[list]
<li ng-repeat='people in peoples' style='background-color:{{people.name[0] | SelectName}}'>
{{people.name}}
</li>
[/list]
</body>
</html>
filter.js
function FilterController($scope){
$scope.peoples = [{'name':'A1'},{'name':'A2'},{'name':'A3'},{'name':'B1'},{'name':'B2'},{'name':'B3'},{'name':'C1'},{'name':'C2'},{'name':'C3'},{'name':'D1'},{'name':'D2'},{'name':'D3'}];
}
angular.module('filter',[]).controller('FilterController',FilterController).filter('SelectName',function(){
var color = function(name){
switch(name){
case 'A':return 'red';
case 'B':return 'green';
case 'C':return 'blue';
case 'D':return 'yellow';
}
}
return color;
});
如filter.js中的filter这一块可以看出,自定义了一个名为SelectName的filter,程序中'SelectName'后的function是这个filter的函数体,在其内部定义了一个匿名函数,并将其赋值给color,最后返回这个color,也就是返回这个匿名函数。
接下来看一下这个函数实现的功能:根据name的不同值返回不同的颜色。
看一下filter.html中是如何调用的:有ng-repeat属性的<li>标签,是controller中$scope.peoples的列表,但并不是单纯的列出来,而是根据$scope.peoples中每个people的名字的第一个字母来显示不同的颜色,这就用到了上面写的行内样式过滤器:style='background-color:{{people.name[0] | SelectName}}'
解释一下,SelectName会返回名为color函数,然后people将其name下标为0的元素传入到这个函数中,函数处理完后将结果return到background-color后面,这样,<li>标签就显示出了不同的颜色.
分享到:
相关推荐
本文将深入探讨这些技术,帮助开发者温故知新,理解它们的功能、工作原理以及如何在实际项目中应用。 ### JSP(JavaServer Pages) JSP是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态内容...
- 温故知新:通过口算练习,巩固两位数的加法。 - 导学释疑:通过自学、小组讨论,解决谁得分高的问题,强调连加竖式的正确书写和理解。 - 巩固提升:设计连加运算题目,培养计算能力和团队协作能力。 2. **课题...
通信行业:温故知新,从4G看5G-1202-中信建投-12页.pdf
农林牧渔行业专题研究:温故知新,复盘上两轮生猪疫情影响-0213-广发证券-17页.pdf
从给定文件中提取的知识点如下: 1. 工业机器人行业概述:工业机器人是机械工程中的一种高科技自动化设备,主要应用于汽车制造、电子电器、化学橡胶塑料、金属制品、食品制造等多个行业。根据国际机器人联合会(IFR...
在准备高考或其他重要考试的过程中,数学复习是一项至关重要的任务。要高效地复习数学,考生需要注意以下五个关键点: 首先,复习应该以课本为基础,遵循教学大纲的要求。这意味着要避免过度学习,选择一套高质量的...
5G行业发展报告,证券研究报告
1. 温故知新:这部分重点在于讲解比喻修辞手法的运用。通过分析例句,让学生理解如何用“海洋”比喻人潮,“雷鸣”比喻掌声,以此增强描述的生动性和形象性。同时,鼓励学生自己尝试使用比喻句,如“…像…”和“…...
- 温故知新:通过复习旧知识获得新理解。 2. 句子扩展与表达: - 通过例子训练学生如何将简单的句子变得更具体生动,如“小白兔在捉迷藏”到“可爱的小白兔在树林里捉迷藏,玩儿得真开心”。 3. 古诗词欣赏: -...
1. 温故知新:强调通过复习旧知识来获取新理解,引申为持续学习的重要性。 2. 不耻下问:鼓励勇于提问,不论对方地位如何,体现谦逊好学的精神。 3. 三人行必有我师:表示每个人都有值得学习的地方,提倡互相学习。 ...
在这个“温故知新ASP.NET 2.0(C#)”的学习资源中,我们将深入探讨ASP.NET 2.0的关键特性和C#的编程技巧。 首先,ASP.NET 2.0引入了许多改进,以提升开发者的工作效率和应用程序的性能。其中包括: 1. **控件生命...
- 温故知新:通过提问回顾旧知识,帮助学生理解和掌握新知识。 - 创设教学情境:问题可以构建相关情境,使学习更加生动有趣。 - 搭建交流平台:提问鼓励师生互动,促进学生之间的合作学习。 - 解决重点难点:...
- 温故知新:通过问答形式复习日期、情绪表达和年龄询问,提升孩子们的语言运用能力。 - 复习歌曲:全班合唱"little car, milk",巩固之前的词汇学习。 - 学习新词:通过情境模拟,引入新词汇,例如老师假装饿了...
- 温故知新:回顾和总结之前学习过的关于物品和方位的词汇和句型。 - 自主预习:要求学生独立读写新课的单词和短语,并进行翻译练习。 - 合作探究: - 竞赛活动:通过竞赛的形式完成任务,提高学生的学习积极性...
1. 温故知新:复习旧知识以获取新见解。这句话出自《论语》,强调不断学习的重要性。 2. 不耻下问:不以向不如自己的人求教为耻。这是鼓励谦虚好学的态度。 3. 三人行必有我师:任何群体中都有值得我们学习的人。这...
- 温故知新:通过讨论喜欢的朋友类型和友谊的建立,引导学生认识到老师在他们生活中的重要性。 - 新授课程: - 认识不同老师:鼓励学生分享认识的老师及其工作特点,增强对老师的了解。 - 了解班级教师:让学生...
- 温故知新:回顾上节课的内容,引导学生思考诚信的重要性。 - 师生互动:讨论“诚信需要智慧”和“诚信需要士气”两个方面。 - 案例分析:通过《实话实说》栏目片段,让学生理解讲实话也需要考虑场合和方式。 -...
- 温故知新:通过歌曲"I like ice-cream."导入,以轻松的方式唤起学生兴趣。 - 实物与图片辅助:使用实物、图片和单词卡片,帮助学生形象记忆新词汇。 - 游戏与竞赛:通过游戏和竞赛活动,激发学生积极参与,提高...
初中语文文学讨论现当代文学温故知新
- 温故知新:复习上节课的内容,通过讨论内洞的情景,引导学生欣赏文章中的优美语句。 - 分层理解:将课文分为六个部分,每部分概括主要内容,强调关键景点的特点,如洞口的宽大,孔隙的窄小、矮险,内洞的黑奇大...