简介
在第一章中我们讲解了控制器的两种创建方式以及模块化还有作用域,其实第一章的内容已经将难点和用法写的很全面了,第二讲只是为了守卫,基本上属于概念上的东西,告诉大家angular中继承。
事例
<html ng-app="myApp">
<body ng-controller="myController">
{{name}}
{{age}}
<h1>子级的值: {{address}}</ h1>
<div ng-controller="childController">
{{name}}
{{age}}
{{address}}
</ div>
</ body>
<script>
var app = angular.module("myApp", []);
app.run(["$rootScope",function($rootScope) {
$rootScope.age = 24;
}])
angular.controller("myController",["$scope",function($scope) {
$scope.name = "Angular"
}])
app.controller("childController",['$scope',function($scope) {
$scope.address = "长春";
}]);
</ script>
</ html>
输出结果:
分析
首先我们app.run(["$rootScope",function($rootScope) 这个相当于父级作用域作用在html跟节点上。
其次我们初始化一个myController的控制器。
最后我们定义了一个childController作为myController的子集。
关系:父级作用域---myController(父级作用域的儿子)---childController(myController的儿子,父级作用域的孙子)
我们在myController作用域下输出{{name}}---{{age}}---{{address}},name可输出,因为myController继承了name,age可输出因为是当前作用域下,address没有输出,因为childController是myController的子集。
我们在childController作用域下输出{{name}}---{{age}}---{{address}},name可输出,因为childController继承于childController,而childController又继承name,所以childController继承name,age可输出因为,childController继承了age,address可输出,address可输出因为是当前作用域下。
总结:父级中不能拿到子级的值,符合继承的概念
花了两节讲解了控制器,控制器主要目的是将逻辑层与视图层分离,喜欢博主的伸出你们的小手关注一下博主,不对的地方也希望各位指出,谢谢!
不积跬步无以至千里,不积小流无以成江海