热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Angular运用总结

前端开辟大部分时刻面临两类题目:一是营业逻辑,二是界面展现逻辑。在一个治理体系或互联网产物中,我们起首会经由过程营业数据对全部营业体系建模。所谓营业逻辑,反应到递次层面就是对一些营

前端开辟大部分时刻面临两类题目:一是营业逻辑,二是界面展现逻辑。在一个治理体系或互联网产物中,我们起首会经由过程营业数据对全部营业体系建模。所谓营业逻辑,反应到递次层面就是对一些营业数据的增编削查操纵;同时我们也须要将这些营业逻辑的操纵效果反馈给用户,这就是界面展现逻辑。比方当你在宣布一条微博,在营业逻辑上是多了一条微博数据,同时在界面上也须要将这条数据显现出来。在我看来,用户界面实质上就是营业数据的一种对用户友爱的展现形状。一个抱负的前端架构是将营业逻辑和界面展现逻辑完整星散,二者自力变化,互不影响。在我们斟酌营业逻辑的时刻,就不要斟酌界面展现的题目;在斟酌界面展现题目标时刻,就不要斟酌营业逻辑的题目。假如将二者耦合在一起,那末在面临复杂题目标时刻可以就会进退维谷,无从下手。

MVC形式的重要目标就是将营业逻辑和界面展现星散。虽然关于C(Controller)是有争议的,然则M(model)和V(view)是广泛认同的。将营业逻辑和界面展现星散的症结也在model和view的星散。angular是一个异常优异的MV*框架,异常好的表现了MVC的头脑,本文将从该角度来引见angular的一些运用心得。

需求

《Angular运用总结》

这是一个厥后治理页面,用来设置各个客户端的banner显现。页面重要有以下功用:
1.编辑banner信息,可以设置banner的范例和上传banner图片。
2.删除和插进去。
3.高低挪动banner递次。
4.保留。

完成营业逻辑

不斟酌页面展现,我们可以先完成营业逻辑。各个端banner列表的逻辑是一样的,只是范例以及与背景的交互接口不一样。我们可以将banner的这些列表逻辑定义成一个service,差别端的列表都可以重用这个service。其定义以下。

《Angular运用总结》

这个service的完成异常简朴,就是对一个banner数组举行增编削查。

完成界面展现逻辑

完成完营业逻辑我们再来处理界面展现的题目。angular供应了一个异常壮大的模版引擎,经由过程指令和表达式就能将数据显现到界面。怎样才模版中运用这些营业数据和要领呢?我们须要将这些数据和要领写到scope对象中,scope对象定义了对应模版可以运用的数据和要领。bannerCollection service的attach(scope)要领就是将对应的banner数据和要领写到scope对象中以便能在模版中运用。下面的代码是在mobile controller中运用bannerCollection service,并经由过程其attach要领和对应的scope对象绑定。

《Angular运用总结》

将数据和要领注册到scope对象后,我们就可以在模版中运用了。下图是模版的一部分。

《Angular运用总结》

ng-repeat指令用来展现banner列表,双花括号用来输出数据,ng-click用来响运用点击。angular框架供应了很多异常有效的内建指令,基本上能满足我们大部分的需求了。除了内建指令,angular还为我们供应了自定义指令的接口,经由过程自定义指令我们可以扩展出异常丰富的web组件。在这个banner治理页面中,有个上传banner图片的功用,我们就可以将其封装成一个指令。

《Angular运用总结》

如上图,该指令的完成重要在link要领中。每一个自定义指令都可以完成这个要领,当模版引擎在链接模版的时刻会回调指令的link要领,调用时将当前的scope和element作为参数传进来。link要领异常重要,它表现了指令的实质:scope到element之间的一个桥梁,实在也就是model到view的一个桥梁。我们可以在这个link要领中监听element的事宜来响运用户操纵并修正scope中的数据;也可以监听scope中数据的变化将其反应到用户界面上。scope对象有个$watch要领,可以经由过程该要领去监听scope中须要体贴的数据的变化。
在这个图片上传的指令中,我们在link要领中监听了用户挑选文件的事宜。当用户挑选文件后,经由过程post要求将图片上传到背景天生url和dsfid,同时更新scope中的img数据;ng-repeat指令在监听到scope中img数据的变化后又会革新响应的界面展现。

结语

angular为我们供应了一个异常好的营业逻辑和界面展现逻辑星散的机制,极大地简化了前端开辟。迥殊关于数据型运用,angular是异常好的挑选。


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
author-avatar
mobiledu2502895137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有