热门标签 | 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是异常好的挑选。


推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • ECharts 官方提供了丰富的图表示例,但实际项目中往往需要从后端动态获取数据。本文将详细介绍如何从后端获取数据并将其转换为 ECharts 所需的 JSON 格式,以实现动态饼图的展示。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 近期,微信公众平台上的HTML5游戏引起了广泛讨论,预示着HTML5游戏将迎来新的发展机遇。磊友科技的赵霏,作为一名HTML5技术的倡导者,分享了他在微信平台上开发HTML5游戏的经验和见解。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
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社区 版权所有