你的位置:首页 > Java教程

[Java教程]我对AngularJS框架的理解

双向绑定

等你业务到了一定规模,数据变化到视图的展现可不是一个简单的双向绑定可以 hold 住的,你的视图更新了你甚至可能不知道是哪里的数据改动引起的。

给你另外一个角度去操作 DOM

简化了你写DOM操作,你看不到那些蛋疼的each,append。还你一个清晰地逻辑世界。

避免大量的用js操作dom,这样能使代码清晰,更便于维护。

Angular更适合于CRUD的管理系统开发

angular适合做表单,而且所有的mvvm都适合做表单。然后大型的mvvm比如angular会提供一系列和表单相关的支持。

搜索引擎还只能拿到某个模版,而无内容。

需要SEO的。(SEO目前也有了prerender解决方案) https//prerender.io。

可测试模块化编程

这个思路有两点,1)模块化 2)可测试。

未来趋势就是:后台程序再也不做模板的任何处理

未来的发展趋势是前端后端只靠json数据来进行通信:后端只处理和发送一段json数据到前端,然后计算和模板渲染都在前端进行。而前端的改动后,形成json数据然后传回到后端。未来趋势就是:后台程序再也不做模板的任何处理。

angular是符合发展趋势的,第一,解耦前端,第二,可以模块化,第三可测试,第四天生支持json,第五依赖注入等等等,还有一些其他特性使得angular跟随甚至是推动了前端的开发趋势。

angularjs本身是很好的前端模板引擎,未来发展就是后端的mvc产生json视图(view)作为前端的模型(model),而整个前端的mvc是后端的视图(view),中间通信就靠json。这样前后端高度解耦,可以完全达到模块化设计的要求。

Google

随着google的大力支持和逐渐流行,公司开始使用angular,有些岗位需要有angular的知识才能工作。

angularjs2

angularjs2就是angularjs1.x的MVVM+componet system。

一个完整项目结构是什么样的?

 

任何一个ng应用都是由控制器、指令、服务、路由、过滤器等有限的模块类型构成的。

用一个总的app模块作为入口点,它依赖其它所有模块。

 

app

 |--css

 |--imgs

 |--lib

 |--js

     |--app.js 作为启动点的js

     |--controllers.js 控制器 使用控制器封装业务逻辑

     |--directives.js 指令  使用指令封装DOM操作

     |--filters.js  过滤器   使用过滤器转化输出

     |--services.js 服务  使用服务封装可复用代码

     |--routes.js  前端路由

 |--tpls ->templates 模板 hello.html

 |--index.html  应用的主html文件