ng-app
让Anjularh核心管理指令所在标签包含的整个区域,并自动创建 $rootScope 根作用域对象
也是一个对象
* 创建模块对象: angular.module('模块名', [依赖的模块])
* 通过模块添加控制器:
* module.controller('MyController', function($scope){//操作$scope的语句})
* angular的整体设计也是多模块的
* 核心模块: angular.js
* 扩展模块: angular-router.js, angular-message.js, angular-animate.js
<div ng-app="myApp">
</div>
<script>
var app = angular.module("myApp", []); //[]里添加依赖模块
</script>
ng-model
将当前输入框的值作为当前作用域对象($rootScope)的属性添加到 $rootScope
<div ng-app="">
<p>名字 : <input type="text" ng-model="name"></p>
<h1>Hello {{name}}</h1>
</div>
name:属性名
{{}}
只能从当前作用域($rootScope)获取属性值
ng-init
单项数据绑定,只支持从view 流向 model
ng-init="name='kobe'"
ng-controller
也是一个对象,是我们View与Model之间的桥梁
当我们使用了ng-controller指令, 内部就会创建控制器对象
但我们同时得提供控制器的构造函数(必须定义一个$scope的形参)
每定义一个ng-controller指令, 内部就会创建一个新的作用域对象($scope),它是 rootScope的子对象, 并自动注入构造函数中,在函数内部可以直接使用$scope对象。
<div ng-controller="controller">
<h1>{{getName()}}</h1>
</div>
<script>
app.controller('myCtrl', function($scope) {
$scope.firstName= "kobe";
$scope.lastName= "bolet";
$scope.getName = function(){
return $scope.firstName + this.lastName
}
});
</script>
ng-click
绑定 button 点击事件
ng-repeat
遍历数组显示数据,数组有几个元素就会产生几个新的作用域
<ul>
<li ng-repeat="persion in persion">
{{persion.userName}}}
{{$index}} ---下标
{{$middle}} ---是否是中间的元素、
{{$first}} ---是否是第一个元素
{{$last}} ---是否是最后一个元素
{{$odd}} ---是否基数
{{$even}} ---是否偶数
</li>
</ul>
$scope.persion = [
{userName:"kobe",age:39},
{userName:"kobe",age:39},
{userName:"kobe",age:39},
]
ng-bind
解决使用{{}}显示数据闪屏(在很短时间内显示{{}})
<p ng-bind = "xxx"></p>
ng-show/ng-hide
ng-show: 布尔类型, 如果为true才显示
ng-hide: 布尔类型, 如果为true就隐藏
ng-class:
动态引用定义的样式 {aClass:true, bClass:false}
动态引用定义的样式 {aClass:$odd, bClass:$even}
ng-style:
动态引用通过js指定的样式对象 {color:'red', background:'blue'}
绑定作用域属性
ng-mouseenter/ng-mouseleave
ng-mouseenter: 鼠标移入监听, 值为函数调用, 可以传$event
ng-mouseleave: 鼠标移出监听, 值为函数调用, 可以传$event绑定作用域方法