1.ng-app 指令定义一个 AngularJS 应用程序。
2.ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
3.ng-bind 指令把应用程序数据绑定到 HTML 视图。
4.AngularJS 表达式写在双大括号内:{{ expression }}
<div ng-app="">
<input type="text" ng-model="name">
<p>hello {{name}}</p>
</div>
5.ng-init 指令初始化 AngularJS 应用程序变量。
<div ng-app="" ng-init="name='world'">
<input type="text" ng-model="name">
<p>hello {{name}}</p>
</div>
6.AngularJS 模块(Module) 定义了 AngularJS 应用。
7.AngularJS 控制器(Controller) 用于控制 AngularJS 应用。
<div ng-app="test" ng-controller="testCtl">
<input type="text">
<p>{{firstName + " " + lastName}}</p>
</div>
<script type="text/javascript">
//声明模块
var app=angular.module('test',[]);
//声明控制器
app.controller('testCtl',function($scope){
$scope.firstName="hello";
$scope.lastName="world";
})
</script>
8.ng-repeat 指令会重复一个 HTML 元素
<div ng-app="test" ng-controller="testCtl">
<ul>
<li ng-repeat="x in arr">{{x}}</li>
</ul>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope){
$scope.arr=[1,2,3,4,5,6];
})
</script>
9.使用 .directive 函数来添加自定义的指令,使用驼峰法来命名一个指令, testDirective, 但在使用它时需要以 - 分割, test-directive,你可以通过以下方式来调用指令:
a.元素名 b.属性 c.类名 d.注释
通过添加 restrict 属性,可以限制自定义指令只能通过特定的方式来调用,可以通过以下方式来调用指令:
a.元素名("A") b.属性("E") c.类名("C") d.注释("M)
<div ng-app="test">
<test-directive></test-directive>
<div test-directive></div>
<div class="test-directive"></div>
<!-- 指令:test-directive -->
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.directive("testDirective",function(){
return {
restrict:"ACEM",
template:"<h1>自定义的指令</h1>"
};
})
</script>
10.在ng-show属性返回 true的情况下显示,返回false隐藏。
<div ng-app="">
<p ng-show="true">显示信息</p>
</div>
11.$scope作用在当前控制器作用域中,$rootScope作用在整个应用程序作用域中,$rootScope常用作各个控制器的连接与通信
12.使用一个管道字符(|) 过滤数据,常用的过滤器有:
过滤器 | 描述 |
---|---|
currency | 格式化数字为货币格式 |
filter | 从数组项中选择一个子集 |
lowercase | 格式化字符串为小写 |
orderBy | 根据某个表达式排列数组 |
uppercase | 格式化字符串为大写 |
<div ng-app="test" ng-controller="testCtl">
{{ firstName | uppercase}}
{{ lastName | lowercase}}
{{ price | currency}}
<ul>
<li ng-repeat="x in names | filter:'test2' | orderBy:'country'">{{x.name + " " + x.country}}</li>
</ul>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope){
$scope.firstName="hello";
$scope.lastName="WORLD";
$scope.price="1234";
$scope.names=[{name:"test1",country:"wuhan"},{name:"test2",country:"shanghai"},{name:"test3",country:"shenzhen"}]
})
</script>
13.$location.absUrl()返回当前页面的地址
<div ng-app="test" ng-controller="testCtl">
{{url}}
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$location){
$scope.url=$location.absUrl();
})
</script>
14.$http服务发起服务器请求
<div ng-app="test" ng-controller="testCtl">
<h1>{{value}}</h1>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$http){
$http.get("test.json").success(function(response){
$scope.value=response.key;
});
})
</script>
15.$timeout 对应了 JS window.setTimeout 函数
<div ng-app="test" ng-controller="testCtl">
{{info}}
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$timeout){
$scope.info="hello world";
$timeout(function(){
$scope.info="how are you today";
},3000)
})
</script>
16.$interval 对应了 JS window.setInterval 函数
<div ng-app="test" ng-controller="testCtl">
{{info}}
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$interval){
$scope.info=new Date().toLocaleString();
$interval(function(){
$scope.info=new Date().toLocaleString();
},1000)
})
</script>
17.使用.service创建自定义服务
<div ng-app="test" ng-controller="testCtl">
{{info}}
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,test){
$scope.info=test.myFunc(1000);
})
app.service('test',function(){
this.myFunc=function(x){
return x.toString(16)
}
})
</script>
18.ng-options 指令创建下拉列表
<div ng-app="test" ng-controller="testCtl">
<select ng-options="x for x in names" ng-model="selectName"></select>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope){
$scope.selectName="wuhan";
$scope.names=["wuhan","sandong","shanghai","shenzhen"]
})
</script>
19.$index表示循环中的序号
<div ng-app="test" ng-controller="testCtl">
<ul>
<li ng-repeat="x in names">{{ $index }}</li>
</ul>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope){
$scope.names=["wuhan","sandong","shanghai","shenzhen"]
})
</script>
20.$odd 和 $even分别表示序号奇数和偶数位
21.ng-disabled 指令绑定数据到 HTML 的 disabled 属性。
<div ng-app="test" ng-controller="testCtl">
<button ng-disabled="mySwitch">点击</button>
<input type="checkbox" ng-model="mySwitch">按钮
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$http){
$scope.mySwitch=true;
})
</script>
22.ng-hide 指令用于隐藏或显示 HTML 元素。
23.ng-click 指令定义了点击事件。
<div ng-app="test" ng-controller="testCtl">
<button ng-click="count=count+1">点击</button>
<h1>{{count}}</h1>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope,$http){
$scope.count=0;
})
</script>
24.ng-include在HTML页面中包含HTML页面
<div ng-app="test" ng-controller="testCtl">
<div ng-include="'module.html'"></div>
</div>
<script type="text/javascript">
var app=angular.module('test',[]);
app.controller('testCtl',function($scope){
})
</script>
25.angular.bind(object,function(){},arguments)动态绑定
26.angular.bootstrap(element,['module'])手动加载模块
27.angular.copy复制一个对象
28.angular.element()返回一个jQuery对象
29.angular.equals()比较两个对象是否相等
30.angular.forEach(obj,function(value,key){})迭代
31.angular.fromJson(string)将json字符串转换为json对象