Angular.js概念及用法
2015-09-07 11:04
573 查看
介绍
这里的代码都是来自于《AngularJS In 60Minutes Ish_DanWahlin_May2013》组成
Angular.js分为以下几块:config:配置
filter:过滤
directive:命令
Factory:工厂
controller:控制器
简单使用
<!-- angular.js表格的demo1 --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>angular-table.js</title> <script src="http://cdn.bootcss.com/angular.js/1.4.4/angular.js"></script> <script src="http://cdn.bootcss.com/angular-ui-bootstrap/0.13.3/ui-bootstrap.js"></script> <script src="js/ang-table.js"></script> <style type="text/css"> table, th, td{ border: 1px solid grey; border-collapse: collapse; padding: 5px; } table tr:nth-child(odd){ background-color: #f1f1f1; } table tr:nth-child(even){ background-color: #fff; } </style> </head> <body> <div ng-app="anguTable"> <table ng-controller="customersCtrl" class="table table-bordered"> <tr class="row"> <th>NO.</th> <th>姓名</th> <th>国家</th> </tr> <tr ng-repeat="x in names | orderBy:'country'"> <td>{{ $index+1 }}</td> <td>{{ x.name }}</td> <td>{{ x.country | uppercase }}</td> </tr> </table> </div> </body> </html>
ang-table.js:
var app = angular.module('anguTable',[]); app.controller('customersCtrl',function($scope){ $scope.names=[ {name:'Jani',country:'China'}, {name:'Hega',country:'sweden'}, {name:'Kai',country:'Denmark'} ]; })
结果:
一个小例子:
angular.js链接的cdn是bootstrap开源的一个地址,非常好用,同时也有非常多的前端框架的cdn可以在那里找得到。
这个例子主要是数据指令,数据绑定。
<!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http://cdn.bootcss.com/angular.js/1.4.4/angular.js"></script> <script src="http://cdn.bootcss.com/angular-ui-bootstrap/0.13.3/ui-bootstrap.js"></script> </head> <body> <div class="container"> name:<input type="text" ng-model="name"> {{name}} </div> </body> </html>
代码运行效果如下:
ng-app ng-model=”name”都是指令(directives),ng-
c21f
app是指angular的作用域,它可以在html的任何地方,ng-model是绑定的数据。而{{name}}是数据绑定表达式,通过他就可以实现这样的效果,而不会像jquery那样,先取得元素,然后再修改值。真的十分方便。
数据的初始值:
<div class="container" data-ng-init="names=['Dave','Napur','Heedy','Shriva']"> <h3>Looping with the ng-repeat Directive</h3> <ul ng-repeat="name in names"> <li>{{ name}}</li> </ul> </div>
运行如下:
data-ng-init=”names=[‘Dave’,’Napur’,’Heedy’,’Shriva’]”>这个是初始了一个数组。ng-repeat=”name in names”,对这个数组进行循环,angular内置函数ng-repeat。
控制器,view层,$scope等关系
html代码:
<!DOCTYPE html> <html lang="en" data-ng-app="demoApp"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="http://cdn.bootcss.com/angular.js/1.4.4/angular.js"></script> <script src="http://cdn.bootcss.com/angular-ui-bootstrap/0.13.3/ui-bootstrap.js"></script> <script src="js/ang60.js"></script> </head> <body> <div class="container" data-ng-controller="SimpleController"> Name:<br/> <input type="text" data-ng-model="name"> <h3>Adding a Simple Controller</h3> <ul ng-repeat="cust in customers | filter:name | orderBy"> <li>{{ cust.name}}--{{ cust.city }}</li> </ul> </div> </body> </html>
js代码:
var demoApp = angular.module('demoApp',[]) var controllers = {}; controllers.SimpleController = function($scope){ $scope.customers=[ {name:'Dave Jones', city:'Phoenix' }, {name:'Jamie Riley', city:'Atlanta' }, {name:'Heedy Wahlin', city:'Chandler'}, {name:'Thomas Winter', city:'Seattle'} ]; }; demoApp.controller(controllers);//适合模块化开发
相关文章推荐
- jQuery plugin items filter
- 全国哀悼日网站页面变成灰色的filter方法
- 用css filter做鼠标滑过图片效果
- ASP 使用Filter函数来检索数组的实现代码
- ASP.NET MVC:Filter和Action的执行介绍
- JSP Filter的应用方法
- PHP中实现Bloom Filter算法
- Jquery find与filter函数区别 说明
- angularJS 中$attrs方法使用指南
- 简述AngularJS相关的一些编程思想
- AngularJS的一些基本样式初窥
- 创建你的第一个AngularJS应用的方法
- 详解AngularJS中的作用域
- 简介AngularJS的视图功能应用
- AngularJS语法详解
- angularjs中的e2e测试实例
- 简介AngularJS中使用factory和service的方法
- PHP内置过滤器FILTER使用实例
- AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
- PHP中filter函数校验数据的方法详解