*JavaScript脚本语言中不要用angularJS表达式,会出问题。
控制器是JavaScript脚本的function函数,他是帮助我们把model模型、控制器封装在方法里边,这样和页面分离开。在控制器里面我们也可以定义基本的数据类型、定义对象属性、定义方法。
在Angular中控制器在1.2.5版本以下才能在页面中直接使用,在1.2.5以上需要使用model模块去给他注册才能够使用。
data-ng-controller
function controllerName($scope,$http,$element){}
- $scope:范围,当前控制器所要控制的范围
- $http:借助javaScript脚本异步请求的数据(ajax请求的数据)
- $element:控制器所作用的元素
页面代码
<div data-ng-app="" data-ng-controller="hellorController">
<p class="lead">{{hello}} {{person.firstName}} {{person.lastName}}</p>
<p class="lead">{{hello}} {{person.fullName()}}</p>
<p class="lead">{{show()}}</p>
<div class="row">
<div class="col-sm-2">
<input data-ng-model="hello" type="text" class="form-control" />
</div>
<div class="col-sm-2">
<input data-ng-model="person.firstName" type="text" class="form-control" />
</div>
<div class="col-sm-2">
<input data-ng-model="person.lastName" type="text" class="form-control" />
</div>
</div>
</div>
js脚本
function hellorController($scope){
$scope.hello="Hello ";//定义基本数据类型
//直接定义对象属性
$scope.person={
firstName:"Ramn",
lastName:"Derek",
//方法里面调用属性需要写全称
fullName:function(){return $scope.person.firstName+" "+$scope.person.lastName}
};
//对象内声明方法
$scope.show=function(){
return $scope.hello+" "+$scope.person.fullName()
};
}
内部控制器可以自动继承父类控制器所有的属性、变量
$http.get(url).success(function(result){})