Angularjs简介(二)

原因:2016年11月23日 星期三 继Angularjs项目(1)后接着总结开发的经验与遇到的问题。
说明:本记录主要介绍bowerMVC框架
我的博客http://minichao.me

Bower

Bower 是twitter推出的一款包管理工具,基于nodejs的模块化思想,把功能分散到各个模块中,让模块和模块之间存在联系,通过 Bower 来管理模块间的这种联系。
包管理工具一般有以下的功能:

  • 1.注册机制:每个包需要确定一个唯一的 ID 使得搜索和下载的时候能够正确匹配,所以包管理工具需要维护注册信息,可以依赖其他平台。
  • 2.文件存储:确定文件存放的位置,下载的时候可以找到,当然这个地址在网络上是可访问的。
  • 3.上传下载:这是工具的主要功能,能提高包使用的便利性。比如想用 jquery 只需要 install 一下就可以了,不用到处找下载。上传并不是必备的,根据文件存储的位置而定,但需要有一定的机制保障。
  • 4.依赖分析:这也是包管理工具主要解决的问题之一,既然包之间是有联系的,那么下载的时候就需要处理他们之间的依赖。下载一个包的时候也需要下载依赖的包。

nodejs是时下流行的javascript运行环境,而npm就是其管理工具,而bower是解决js依赖关系的包工具,比如需要引入某个模块功能,只需bower install xx即可自动引入前置环境。

  • 这里为什么要提到bower呢,现在下图是通过Netbeans建立的包含Angularjs Seed文件的项目文件图:


    Flod

    Bower.json
  • Ubuntu下Ctrl+H即可显示隐藏文件,如图中左侧,为.bowerrc文件,它的作用就是在这一级目录下使用Bower时,bower下载的文件所要去的地址,右侧的bower.json是记录文件,这是angularjs-seed自动生成的(也可以通过bower init在当前目录下生成),当工程发生位置变更时,为了减少存储负担,无需转移依赖库文件,只需在每次安装依赖时bower install --save xx其中xx为要安装的包,而在安装后,就会自动记录到bower.json的dependencies中。
  • 当新建了Angularjs工程后,由于只是下载了angularjs-seed(包含bower.json),而并无包依赖文件,故在这一级目录下命令行输入bower install,bower就会自动从json文件中提取记录,下载想要的对应版本的依赖文件了。

MVC

  • 上一节简单介绍了Angularjs的应用引导,依赖注入,以及路由,这里介绍Angualrjs与MVC。Apache Struts,Spring MVC和Zend Framework等MVC框架在过去多年中是Web开发框架的领导者,对于这些框架,完全运行在服务器中,所有的功能,例如数据库、业务逻辑、现实逻辑和UI活动都在服务器中完成,因此要消耗服务器的内存和资源,虽然这种设计适用于大多数情况,但是近年来移动端的发展,这种设计模式在移动设备中是不可行的(原因自行查找,不再赘述),这里只介绍Angulajrs的MVC,与上述框架不同的是,Angularjs的视图、模型、控制器等模块都在web浏览器,或用户的设备中运行,解放了服务器,或者只让服务器处理业务逻辑和数据存储,极大的改善了用户体验。

Angulajrs的视图(MVC中的V)

  • 基本上只需要使用简单的HTML和CSS,很简单,不做介绍

Angularjs的模型(MVC中的M)

  • Angularjs在$scope对象中存储应用的模型,附在DOM上,如果想获取模型,可以使用赋给$scope对象的数据属性。

Angularjs的控制器(MVC中的C)

  • 技术核心,controller,要讲的太多,后文介绍。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,423评论 25 707
  • 一、介绍 AngularJS是一款由Google公司开发维护的前端MVC框架,其克服了HTML在构建应用上的诸多不...
    福尔摩鸡阅读 738评论 0 2
  • 大家好!我是个写作新手,很高兴能进入到这里,以后请大家多多指教哦。谢谢大家!
    zhaoyiju阅读 145评论 1 0
  • 参考 http://www.cnblogs.com/xiaofeixiang/p/4339013.html
    渣渣__阅读 192评论 0 0