AngularJS心得体会

AngularJS早些时候有过了解,知道这是一个JS的MVC框架,同类型的框架还有Backbone等。这次是由于项目需要,学习了两天的Angular后开始着手改之前的项目代码,这里大概说一下这一周学习Angular的心得体会吧。

首相,使用Angular最大的感受就是它的设计思路完全不同于Jquery,jquery更倾向于对Dom的操作;而使用Angular则需要你有一个全局的认识,你必须知道你想要做成什么样子才可以下手去做,所以我感觉ng对前端开发的要求比jquery要高一些。先来看看Angular的一些特点:

一、MVC模式

MVC顾名思义:Model-view-Controll设计模式,其实这个有点类似于Java的思想,模型、视图、控制器的分离。但是Angular又有点不同于传统的MVC,严格意义上说它是MVVM(model-view-viewModel)。Model是简单的javascript对象;ViewModel是$scope对象,Angular靠$scope检测状态变化;Controller负责设置初始状态和参数化$scope方法用以控制行为;View是Angular解析渲染后生成的HTML。

二、数据双向绑定

这应该算Angular比较特有的属性,概括来说,Angular通过监听变量的变化来实现双向数据绑定。传统技术上,当model改变时,开发与人员需要手动处理DOM元素并将属性反映到变化中。而在Angular中,程序员可以轻轻松松解决这种问题,省掉了很多的代码。

三、模板

在Angular中,一个模板就是一个HTML文件。但是HTML的内容扩展了,包含了很多帮助你映射到Model到View的内容。

四、服务和依赖注入

Angular服务的作用就是对外提供某个特定的功能。Angular拥有内建的依赖注入(DI)子系统,可以帮助开发人员更容易开发,理解和测试应用。

五、指令

指令比较有意思,可以帮助我们做很多的事情。很多的DOM操作,比如增删改查都可以用指令完成。指令自带的link方法有三个参数:scope、element、attrs。通过这三个参数我们可以完成很多功能,这也是我用的比较多的方法。

简单介绍了Angular的特性,下面说说我对这个项目的一些想法。

我对该项目的理解就是普通的用户登录,进入到主页面后可以通过搜索PID或者FID搜到一些POI,用户可以查看这些具体地址的详情。数据传递是JSON,异步请求。要说复杂的话,那就是对于openlayer的使用吧。

这是一个很传统的jquery项目,但是如果想要把此项目改成Angular成本比较高,最大的原因是因为项目页面少,main.html和poiInfo.html的js操作耦合性太高,我们都知道Angular是一个前端MVC框架,对于高耦合的页面很难进行拆分。方法的调用和逻辑相对比较紧密,抽离不好就会出错。由于我接触Angular时间不多,项目实战经验匮乏,它的一些深入知识还是不太熟悉,如果重新进行开发担心有些功能无从下手。比如传统jquery的一些复杂的嵌套选择器,在Angular当中我有些无力。两个框架的思路不一样,在进行Angular使用时,面对DOM操作还是不能很好的转变过来,不能总想着获取dom然后进行操作,在ng中操作的应该是变量。通过变量改变视图,通过视图的改变,回馈到变量中,这才是Angular的精髓。

时间: 2024-10-14 10:03:08

AngularJS心得体会的相关文章

关于软件项目管理的心得体会之一

目的 软件项目管理是一项涉及面较广,但是非常必要的一项技能.相较于软件开发中的其他专业技能, 又更加依赖于实践和阅历.这里想跟各位同仁分享一下自己在过往项目中的心得体会,结合些许耳熟能详的理论,起到抛砖引玉的作用. 局限性 项目管理既然是一门实践科学,所以这里跟大家分享之前,还是要说明局限性.因为我之前是在一家提供软件服务的传统软件公司工作, 所以很多项目的经验都来源于作为乙方的外包项目,同时,大部分项目都是移动相关领域.目前我在一家国内的互联网公司,从事的电商相关的应用项目. 开篇 想跟大家分

编程方法心得体会

编程学习心得和方法(转载,供新手参考)   即便是高级编程人员,像那些为开发软件工作的类库和组件高手,他们也不敢说自己精通每一种语言. 事实就是这样,每一种语言有着它们相似而又不同的语法,它们有着不同的关键字,发展出了各种各样的类库,它们的函数或者方法的声明定义都有不同,更多的差异不为我们所知. 每一种语言,它都有着太多的东西需要我们去理解和记忆,我们没有时间和精力做得太多. 对于初学者,我们最不应该急于求成,更不要试图一次性学习所有语言.事实上,我们可以选取某种语言学习.每一种语言都有着自己的

读《构建之法》的心得体会

读<构建之法>的心得体会 软件工程涉及的范围很广,对于即将投身IT业的学生而言,软件工程的内容又非常重要.读构建之法,尽管本书介绍了不少IT业正在使用的理论和技术,但是,这本书的主要思想并不是介绍所有的新思想和新技术,而是从这些新思想.新技术中总结出对自己在未来的工作中有用的东西. 在整本书中,印象最让我深刻的是“两个人的合作”这一章节.现代的软件产业经过几十年的发展,软件的结构随着用户需求的不断增加,软件的功能不断朝多元化与复杂化发展.不管是两个人的合作还是团队的合作,谈到合作不免提及规范这

Git的基本使用方法和安装&amp;心得体会

1. git的安装和github的注册.代码托管.创建organization.邀请member. (1)git的安装 因为我电脑是windows系统,所以下载的是git for windows.在官网下载非常卡,直接百度搜找百度那个下载就可以.下载后选择路径一直next就行了. (2)github的注册 没什么说的,虽然界面是英文,不过要是连这种程度的都看不懂你还是洗洗睡吧.按要求填完邮箱账号密码等常规东西就注册完了. (3)创建organization the organization's

IT增值服务实践心得体会:企业客户的钱比个人客户好赚得多

友情提示 本人喜欢直言不讳,不喜欢拐弯抹角.喜欢从客观和主观.自身和他人等多种角度去探讨问题.如有不当之处,欢迎吐槽. 若干心得体会1.企业客户的钱更好赚,个人客户的钱很难.  为什么这么说呢? a.企业有钱赚,为了更好地服务自己的客户,赚到更多的钱,花点钱,心甘情愿.只要你的商品和服务,不至于太坑. b.企业的功利心比较强,因此,非常有目标性,有动力,一定要解决自己遇到的问题. c.个人的付费意识很差,因为他们总认为自己赚的钱少,同时下意识地认为,别人花时间精力提供的服务或者劳动成果,不值钱.

关于代码的一些心得体会(大神勿喷)

关于代码的一些心得体会   前  言 Lms 入行也有很久了,一直都只是忙着工作学习,却一直没能好好静下心来好好整理一下自己.时间久了,慢慢的代码越来越熟悉,敲起来也越来越顺手,自己缺总感觉有些不对.我总觉得代码不应该就是这么简单,不应该像写记叙文一样,一条一条慢慢的就罗列出来了,返回去看了看自己刚写代码的时候功能也都能够实现了.但是还是有那么多可以优化的地方.我觉得好的代码不应该只是把功能实现那么简单,我觉得好的代码应该有以下几条特点:第一,命名要规范,第二,可复用性,第三,就是注释.当然,当

第8章 让开发板发出声音,蜂鸣器驱动 心得体会

第8章让开发板发出声音,蜂鸣器驱动 心得体会 通过学习Android深度探索(卷1)HAL与驱动开发的第8章 让开发板发出声音,蜂鸣器驱动,我加深对驱动的认识.以下主要是我对本节实验和参考在Linux驱动开发中使用PWM控制蜂鸣器中的一些见解. 先编写一个简单的蜂鸣器驱动程序,根据开发板上的硬件IO接口和Android驱动规范,在kernel中的driver目录中新建一个Buzzer文件,新建一个buzzer.c的源文 在目录下创建一个Makefile文件 先运行make clean命令清楚到编

大道至简第一章心得体会

大道至简——编程的精义  心得体会      谨以此用于苦恼编程序不得入门的人,不对之处敬请指出 “虽我之死,有子存焉:子又生孙,孙又生子:子又有子,子又有孙.子子孙孙,无穷匮也.而山不加增,何苦而不平?” ——<愚公移山>,<列子-汤问篇> 编程究其本身对大数人而言是一件很苦恼而又无法避免的事情,但是有点可笑的是编程本身实在是一件简单的事,因为“程序=算法+结构”,所谓的编程就是把一件事情交给计算机去做,然后把你的想法“告诉”计算机就行了.但是编程又是一件很“无语”的事情——因为

听大树(宋晓楠)老师讲《高效工作与时间管理》心得体会

偶然的机会,能够听大树老师的时间管理,经过这两天的反复思考和体会,以及阅读了几篇同伴的写得心得体会,我也想把我的心得体会写下来!共同学习! 先说说大树老师的时间管理观念! 图1 大树老师在讲解 总体来说,就是收集整理->搞定->回顾, 这样的一个循环过程 一.收集 这个从六个方面来说:工作.身体.心灵.家庭.圈子.财富, 具体的意思,我就不说了. 我就说说怎么收集吧, 从这六个方面分析,得出自己想要在每个方面达到的目的,或者自己希望有一个什么样的设想, 把这所有的想法都写下来. 二.筛选 对自