AngularJS~大话开篇
AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入、等等。
前端一些术语
类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery,YUI,Protype等
框架 - 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。
AngularJS的一些技术特点
- 使用双大括号{{}}语法进行数据绑定;
- 使用DOM控制结构来实现迭代或者隐藏DOM片段;
- 支持表单和表单的验证;
- 能将逻辑代码关联到相关的DOM元素上;
- 能将HTML分组成可重用的组件
- 双向绑定(html影响代码,代码也影响html)
- 路由功能(单页面实现类似多URL的功能)
MVVM的实现
将数据模型(data-model)关联到视图(UI)上,让前台开发人员可以很方便的去建立完整的页面,数据可以使用测试数据,最后可以将获取数据的部分抽象成一个个的API接口即可,而不需要真正等待后台人员将程序开发完,前台人员就可以对已经完成的功能进行测试了。
代表性的实例
<!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> </head> <body> Hello {{'World'}}! </body> </html>
使用{{}}乱起来的代码就是angularJS的代码,使用引号括起来表示它是个字符串,下面看一下在网站上经常看到的代码,如果你登陆了就显示hellow yourname,否则就显示
hello world,这是个很经典的例子
<!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> </head> <body> Your name: <input type="text" ng-model="yourname" placeholder="World"> <hr> Hello {{yourname || 'World'}}! </body> </html>
几个重要的angularJS的指令(Directive)
Directive命名可以用驼峰式的风格的命名,如ngBind,ngApp,但directive也可以支蛇底式的命名,需要通过 :(冒号)-(减号)或 _(下划线)连接,如ng:app,ng-app,ng_app它们是等价的
ng-app:代码的作用域(一个页面只允许有一个ng-app)ng-controller:控制器作用域(一个ng-app可以包括多个controller)
ng-repeat:集合遍历
ng-model:双向绑定
ng-click:单击事件绑定
ng-if:条件绑定
ng-bind:变量绑定到指定标签
下一讲,我们将开始测试具体的实例……
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2014-07-28 面向服务架构~本地轮训服务占用内存过高的问题
2011-07-28 当你使用LINQ做底层时,最好设计一个工厂,不要把LINQ的动作暴露给业务层
2011-07-28 方法的参数与可以统一成这样!
2011-07-28 case...when...end 去统计你写日志的情况
2011-07-28 C#发展历史,你有必要了解一下各个时期C#的特性