angular

1.MVC起源 代码分离。
angular跟jquery一样就是一个工具,一个库而已,谷歌开发的。
直接上官网,学库上官网无非就两件事:
1.下载 官网https://angularjs.org/
​ 关于版本:
​ 1.2.x 之前 老了,不用了
​ 1.3.x 相对好用
​ 推荐1.3.10
​ 2.x.x
​ 根本就特么是两个东西
2.看APIhttps://code.angularjs.org/1.3.10/docs/api
原理一讲放倒一片,所以直接讲使用会用了以后再说原理
思想:一切以数据为核心。
文档的用法我不想说写几个小例子吧。
第一部分小例子
angular特色:
1.双向绑定 一个框里面数据变,另外一个也变过程 view ->model->view
<!DOCTYPE html><html ng-app><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script></script></head><body> <input type="text" ng-model = "a"> <input type="text" ng-model = "a"></body></html>

2.依赖注入
​ 函数传参,参数名字定死,与顺序无关
<!DOCTYPE html><html ng-app="mk"><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script> var mk = angular.module('mk',[]); mk.controller('show',function($scope){//可以有多个参数,顺序也不用管但是必须叫$scope $scope.a = 12; });</script></head><body> <div ng-controller = "show"> {{a}} </div></body></html>

3.再来一个例子配合事件用(双向绑定),包含控制器定义
<!DOCTYPE html><html ng-app="mk"><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script> var mk = angular.module('mk',[]); mk.controller('show',function($scope){ $scope.a = 12; });</script></head><body> <div ng-controller = "show"> <input type="button" value="aaa" ng-click="a=666"> {{a}} </div></body></html>

angular脏数据检查,注意下面的代码视图数据并不会跟控制器一起更新
<!DOCTYPE html><html ng-app="mk"><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script> var mk = angular.module('mk',[]); mk.controller('show',function($scope){ $scope.a = 10; setTimeout(function(){ $scope.a = 999999; },1000); });</script></head><body> <div ng-controller = "show"> {{a}} </div></body></html>

解决:核心部分一替换完事儿
var mk = angular.module('mk',[]); mk.controller('show',function($scope,$timeout){ $scope.a = 10; $timeout(function(){ $scope.a = 999999; },1000); });

总结上面几个例子穿插了控制器和服务的定义。
不多说
简要说下服务:
$scope
$timeout都是服务
留言板
<!DOCTYPE html><html ng-app="mk"><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script> var mk = angular.module('mk',[]); mk.controller('addMsg',function($scope,$timeout){ $scope.data = []; $scope.add = function(){ $scope.data.push({ name:$scope.usr }); $scope.usr = ''; }; $scope.remove = function(index){ $scope.data.splice(index,1); }; });</script></head><body> <div ng-controller = "addMsg"> <input type="text" ng-model = "usr"> <input type="button" value="添加新任务" ng-click="add()">
<span ng-show="data.length==0">还没有添加任务</span> <ul> <li ng-repeat="item in data">{{item.name}} <a ng-click="remove($index)" href="javascript:;">删除</a></li> </ul> </div></body></html>

angular主要解决ajax等频繁数据交互和操作DOM的情况,这种情况在购物车下尤为常见,直接上例子:
<!DOCTYPE html><html ng-app="mk"><head><meta charset="utf-8"><style></style><script src="angular.js"></script><script> var app = angular.module('mk',[]); app.controller('shoppingcar',function($scope){ $scope.data = [ {"name":"茄子","count":3,"price":6.87}, {"name":"黄瓜","count":9,"price":2.41}, {"name":"香蕉","count":5,"price":6.63}, {"name":"金针菇","count":7,"price":6.39}, ]; $scope.sum = function(){ //alert(1); var result = 0; angular.forEach($scope.data,function(item,name){ result+=item.countitem.price; }); return result; }; });</script></head><body ng-controller = "shoppingcar"> <dl ng-repeat ="item in data"> <dd>名称:{{item.name}}</dd> <dd>数量:<input type="number" ng-model="item.count"></dd> <dd>价格:{{item.price}}</dd> <dd>小计:{{item.countitem.price}}</dd> </dl> <div>总计:{{sum()|currency:'¥'}}</div></body></html>

上面说了循环和过滤器,下一篇看文章说下自定义指令和ajax,最后写两个例子
一个是angularajax请求数据,一个是angular路由的移动端单页程序。angular就入门了,angular本来就是很简单的东西,
当成玩具会用就好了。

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

推荐阅读更多精彩内容

  • Angular面试题 一、ng-show/ng-hide与ng-if的区别? 第一点区别是,ng-if在后面表达式...
    w_zhuan阅读 5,509评论 0 26
  • 1.类库( 提供类方法 ) 和框架 类库提供一系列的函数和方法的合集,能够加快你写代码的速度。但是主导逻辑的还是自...
    w_zhuan阅读 1,783评论 0 8
  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 1,583评论 0 3
  • 1. AI 基础及路径查找器 PS 和 AI 的区别: AI 基本操作: 案例制作: 路径查找器: cmd+shi...
    yaoyao_IOS阅读 506评论 0 0
  • 他本以为这辈子便这般过去了,没人怜悯便没人吧,无人心疼便无人吧,可是,谁能想到好巧不巧,世界上会有个顾昭。
    BLACKBLAKE阅读 326评论 0 0