AngularJS数据传递与MVVM框架解析

需积分: 9 20 下载量 98 浏览量 更新于2024-08-17 收藏 18.9MB PPT 举报
"AngularJS是一个基于轻量级jQuery的前端MVVM框架,旨在克服HTML在构建应用程序时的局限性。它引入了指令,使浏览器能够理解新的语法,从而增强HTML的功能。在AngularJS中,常见的应用模式包括MVC、MVP和MVVM。MVVM模式下,Controller被改称为Presenter,而Presenter则变为ViewModel,实现双向数据绑定。 在AngularJS应用中,`ng-app`用于定义模块,`ng-controller`用于指定控制器,它们一起构建视图和模型的关联。例如,`ng-app`可以作用于整个HTML文档,而`ng-controller`则可以作用于特定的DOM元素,如body或div。 AngularJS视图中包含多种指令,如`ng-include`用于动态加载和编译外部HTML,`ng-switch`类似Java的switch语句,`ng-repeat`用于遍历并重复渲染集合,以及`ng-if`作为条件判断等。此外,还有`ng-href`用于动态创建URL,`ng-src`用于动态加载图片,`ng-disabled`、`ng-checked`、`ng-readonly`和`ng-selected`分别用于动态控制元素的禁用状态、选择状态、只读状态和默认选项。 对于样式和类的操作,AngularJS提供了`ng-class`来动态设置元素类,以及`ng-style`用于动态改变元素样式。视图中的过滤器是一个强大的功能,可以对数据进行格式化或筛选。例如,`currency`过滤器可以将数字转换为货币格式,`date`可以格式化日期,`filter`用于在数组中筛选元素,`json`则用于将JSON或JavaScript对象转化为可读格式。 在数据传递方面,AngularJS提供 `$http` 服务处理同域请求。对于跨域请求,AngularJS支持 `$http.jsonp` 和遵循W3C CORS(跨源资源共享)规范的方法。`$http.jsonp` 利用JSONP(JSON with Padding)技术,常用于绕过浏览器同源策略的限制,而CORS则是一种更为现代且安全的跨域请求方式,允许服务器通过特定的HTTP头部来声明允许哪些源进行访问。 AngularJS通过其丰富的指令系统和强大的数据绑定机制,简化了前端开发,特别是数据传递和视图更新。开发者可以通过这些工具高效地构建复杂的单页应用程序(SPA)。"