angularjs(1)
1.angularjs的下载地址为:https://angularjs.org
2.什么是angularsjs????angularjs是对HTML的扩展,吸收了传统的MVC基本原则,将管理数据的模型(model),应用逻辑代码(controller),以及向用户展示数据的代码(view)清晰的分开,从而解决静态网页技术构建动态应用的不足,同时省去了一些繁琐的DOM操作及事件监听操作。
3.angularjs的主要特征:
1)数据绑定:简单来说就是UI的某个部分与JavaScript某些属性之间的互相映射。在传统情况下,我们需要手动的去修改dom,进而将这些变化展示出来,而当实现数据绑定后,界面的操作能实时的反应到数据,数据的变更能实时的反应到界面展现上。
2)依赖注入:在上例中,SomeController可以获取它所需要的$scope的对象,而不需要创建它。当然,我们也可以自定义一些服务,注入到需要使用的控制器中。总之,我们的类只需要简单的获取它所需要的东西,而不需要创建它所依赖的东西。这里需要强调的是,依赖注入需按照上面的形式规则,避免代码压缩产生错误。
3)指令:是angularjs最强大的功能之一,是对html扩展的核心部分,上例中的{{}},ngController都属于指令,{{}}实现的是数据绑定,ngController实现的是控制器对视图的控制。angularjs内置了很多指令,帮我们定义视图,同时我们也可以自定义指令,实现所需的功能。
<!DOCTYPE html> <html ng-app="myTest"> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body><div ng-controller="SomeController"><hello></hello> //<hello>为我们创建的指令</div><script>var myTest = angular.module("myTest", []);myTest.directive("hello", function() {return {restrict: "E",template: "<h1>Hello world!</h1>",replace: true};});</script> </body> </html>
4)过滤器(filter):通过某种规则处理接收到的值,最后返回处理后的结果。内置的过滤器有:currency(货币),date(日期),json(格式化json对象),lowercase(小写),uppercase(大写),limitTo(限制个数),number(格式化数字),orderBy(排序),filter(匹配子串)。同时,我们也可以根据需要自定义过滤器。
5)路由(route):将控制器、视图模板及浏览器当前地址栏信息进行深层链接。在应用中,可以通过调用$routeProvider服务上的函数来创建路由,把需要创建的路由当成一个配置块传给这些函数即可。也正因为路由的存在,我们不会将所有的东西都放在一个主视图中,而是创建一个布局模块,然后再用这个模块容纳其他东西,同时ng-view指令告诉angular将视图显示在哪。在实际的开发中,很少用到angular的内置路由ngRoute,而是使用基于ngRoute开发的第三方路由模块ui.router,在这里分享两篇文章
1.http://www.html-js.com/article/Front-end-source-code-analysis-original-uirouter-source-code-analysis
2.http://www.cnblogs.com/liulangmao/p/4155015.html
转载于:https://www.cnblogs.com/webliu/p/5233375.html
angularjs(1)相关推荐
- AngularJS和DataModel
通常,在AngularJS中使用JSON作为存储数据的模型.我们可能这样在controller中写model: app.controller('BookController',['$scope',fu ...
- AngularJS 杂项知识点
1.要用ngChange要同时使用ngModel,下拉选择获取当前选中值. 2.打包代替动态加载(js文件) requirejs真正的价值在于模块化,不是动态加载,angularjs本身有模块化机制, ...
- angularjs post 跨域
web api搞好了:用Ajax妥妥的:但是前端用的AngulagJS,也懒得再换为Ajax了: 但是问题来了:提示: 已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/a ...
- AngularJS 指令
1. AngularJS指令的特点: AngularJS通过被称为指令的新属性来扩展HTML,指令的前缀为ng-. AngularJS通过内置的指令来为应用添加功能. AngularJS允许你自定义指 ...
- AngularJS中的按需加载ocLazyLoad
欢迎大家讨论与指导 : ) 初学者,有不足的地方希望各位指出 一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当 ...
- 【12】AngularJS 事件
AngularJS 事件 AngularJS 有自己的 HTML 事件指令. ng-click 指令 ng-click 指令定义了 AngularJS 点击事件. <div ng-app=&qu ...
- Angular的ChangeDetectorRef.detectChanges()实现angularJS的$apply()方法,强制刷新数据渲染
在Javascript代码里,都是按照一定顺序来执行的,当轮到一个代码片段执行的时候,浏览器就只会去执行当前的片段,不会做任何其他的事情.所以有时候一些做得不是很好的网页,当点击了某个东西之后会卡住, ...
- AngularJS学习笔记(3)——通过Ajax获取JSON数据
通过Ajax获取JSON数据 以我之前写的与用户交互的动态清单列表为例,使用JSON前todo.html代码如下: <!DOCTYPE html> <html ng-app=&quo ...
- angularjs 学习笔记 简单基础
angularjs是谷歌公司的一个项目,弥补了hml在构建方面的不足,通过指令(directive)来扩展html标签,可以使开发者使用html来声明动态内容. angularjs主要用来开发单页应用 ...
- Angularjs集成第三方js插件之Uploadify
有时候需要用一些第三方插件,比如datepicker,slider,或者tree等.以前的做法是直接通过jquery取得某个元素,然后调用某个方法即可.但在angularjs中,不能直接这么写,必须写 ...
最新文章
- [Flash开发笔记] 关于Flash中的ASO文件
- 转载sunboy_2050 - Android APK反编译详解(附图)
- arduino byte转string_Java数组转List集合的三驾马车
- 《DSP using MATLAB 》示例Example6.3
- mysql 乘法_测试面试题集Python花式打印九九乘法口诀表
- 32 引脚_函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频方波
- 【熊猫多模式站群开发日志】 优化了关键词调度和模板调度
- 魅族预热魅族18系列:没有中杯 大杯起步
- iPhone 12或于7月开始量产,售价4615元起
- 问题 H: 编写函数:求数组中的最大值 (Append Code)
- 编译安装NTP时间服务报错
- java中this什么时候不能省略?this()的用法
- dell 笔记本禁用触摸板方法
- vue中利用高德地图选取经纬度
- qq互联代码 php,请教QQ互联的代码是如何写的?
- 【OR】二次规划(1)
- 【操作系统】Linux内核和Windows系统的内核有什么区别?
- NSIS ERROR解决方法
- LabVIEW的for循环事例
- 全球疫情来袭,瑞士科学家在实验室重造冠状病毒?