已经了解了angular的基础知识以后,我们继续开始了解angular的基础模块,首先在写angular应用时需要引入angularjs
在使用angular时必须为它定义边界(angular的作用范围)
1、如果想构建angular应用只需要
< html ng-app ="应用名" >
2、如果需要angular操作部分区域的数据,则将相应的ng-app写到对应的标签上
< html > ....... < body > ....... <!-- angular处理区域 --> < div ng-app > </ div > <!-- 结束 --> ....... .... </ body > </ html >
模块:
1、数据显示
可以使用{{}}或ng-bind
< p > {{txt}} </ p >
或
<p ng-bind="txt"></p>
两者的却别在于html没有加载完毕{{txt}}回直接显示到页面,直到angular渲染该绑定数据(这种行为有可能将{{binding}}让用户看到);而ng-bind则是在angular渲染完毕后将数据显示
2、ng-controller
该命令用户管理视图和模型之间的关系的控制器(单页面中可以根据复杂程度引入多个控制器)
3、ng-model
将值绑定到表单元素上
< form > < input type ='checkbox' ng-model ='value'/> </form >
4、ng-watch
用户监听一个表达式的变化,调用相应的回调
< div ng-controller ='testController' > < input ng-model ='start_value' /> < label > {{end_value}} </ label > </ div > < script > var app = angular.module( ' myapp ' , []); app.controller( ' testController ' , function ($scope) { $scope.start_value = 1 ; function change_value() { $scope.end_value = $scope.start_value; } $scope.$watch( ' start_value ' , change_value); }); </ script >
5、angular提供了一系列命令与原生的浏览器事件相对应,包括ng-change、ng-click、ng-submit、ng-dbclick等
6、ng-repeat
用于数据迭代
< html ng-app ='myapp' > < script src ='angular.js' ></ script > < body > < table ng-controller ='tableController' > < tr ng-repeat ='repeat in repeat_list' > < td > {{repeat.name}} </ td > </ tr > </ table > < script > var app = angular.module( ' myapp ' , []); app.controller( ' tableController ' , function ($scope) { $scope.repeat_list = [ {name: ' test01 ' }, {name: ' test02 ' } ]; }); </ script > </ body > </ html >
6、ng-show、ng-hide
用于显示或隐藏绑定元素,行为相反,ng-show为true时显示,false隐藏
< div ng-controller ='testController' > < label ng-show ='label_show' > 哈哈 </ label > < button ng-click ="toggle_label()" > 切换 </ button > </ div > < script type ="text/javascript" > function testController($scope) { $scope.label_show = false ; $scope.toggle_label = function () { $scope.label_show = ! $scope.label_show; } } </ script >
7、ng-css、ng-style
用于在应用中动态设置样式,接受一个表达式,表达式的取值方式
(1)一个表示css类名的字符串
( 2)css类名数组
(3)类名到布尔值的映射
< div ng-controller ='testController' > < label ng-class ='test' > 哈哈 </ label >
<label ng-class='{selected: true, on:false}'>哈哈</label>
</ div > < script type ="text/javascript" > function testController($scope) { $scope.test = ' selected on ' ;//方式1 $scope.test = [ ' selected ' , ' on ' ]; // 方式2 } </ script >
8、ng-src、ng-link
用于img、a加载内容,有的时候img或a进行简单的<img src={{binding}}/>数据绑定,angular没有机会拦截请求。因此使用ng-src属性
基本上就这些了