第5章 作用域

通常AngularJS中应用(App)是由若干个视图(View)组合成而成的,而视图(View)又都是HTML元素,并且HTML元素是可以互相嵌套的,另一方面视图都隶属于某个控制器(Controller),进而控制器之间也必然会产生嵌套关系。

每个控制器(Controller)又都对应一个模型(Model)也就是$scope对象,不同层级控制器(Controller)下的$scope便产生了作用域。

5.1 根作用域

  • 一个AngularJS的应用(App)在启动时会自动创建一个根作用域$rootScope,这个根作用域在整个应用范围(ng-app所在标签以内)都是可以被访问到的。

5.2 子作用域

  • 通过ng-controller指令可以创建一个子作用域,新建的作用域可以访问其父作用域的数据。

示例:

<body ng-app="App">
<div class="box" ng-controller="ParentController">
<nav>
<a href="javascript:;">首页</a>
<a href="javascript:;">列表</a>
</nav>
<div class="main" ng-controller="ChildController">
<h4>{{name}}</h4>
</div>
</div>
<script src="./libs/angular.min.js"></script>
<script>
/**
* 关于作用域:
* 新建一个函数就会产生一个新的作用域
* 并且子作用域可以访问父级作用域,父级不
* 能访问子级的
*/
var App = angular.module('App', []);
App.controller('ParentController', ['$scope', function ($scope) {
$scope.name = '小明';
}]);
App.controller('ChildController', ['$scope', function ($scope) {
$scope.name = '小红';
}])
</script>
</body>

AngularJS——第5章 作用域的更多相关文章

  1. AngularJS——第6章 作用域

    第6章 作用域 在AngularJS中使用过滤器格式化展示数据,在"{{}}"中使用"|"来调用过滤器,使用":"传递参数. 6.1 内置过 ...

  2. AngularJS 第三天----作用域

    作用域的概念及其功能 AngularJS使用作用域的概念来充当数据模型的作用,在视图和控制器之间起着桥梁的作用.由于双向绑定的数据特性,视图的修改会更新 $scope,同样对 $scope的修改也会重 ...

  3. 【AngularJS】—— 12 独立作用域

    前面通过视频学习了解了指令的概念,这里学习一下指令中的作用域的相关内容. 通过独立作用域的不同绑定,可以实现更具适应性的自定义标签.借由不同的绑定规则绑定属性,从而定义出符合更多应用场景的标签. 本篇 ...

  4. 《Python 学习手册4th》 第十七章 作用域

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  5. 你不知道的javaScript上卷(第一章 作用域是什么)

    在写这篇博客时这本书我已经是看过一遍了,为了加深印象和深入学习于是打算做这系列的前端经典书籍导读博文,大家如果觉得这本书讲的好可以自己买来看看,我是比较喜欢看纸质版书的,因为这样才有读书的那种感觉. ...

  6. 一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好

    学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是 ...

  7. AngularJS——第11章 其它

    第11章 其它 11.1jQuery 在没有引入jQuery的前提下AngularJS实现了简版的jQuery Lite,通过angular.element不能选择元素,但可以将一个DOM元素转成jQ ...

  8. AngularJS——第9章 模块加载

    第9章 模块加载 AngularJS模块可以在被加载和执行之前对其自身进行配置.我们可以在应用的加载阶段配置不同的逻辑. [AngularJS执行流程] 启动阶段(startup) 开始 --> ...

  9. AngularJS——第8章 服务

    第8章 服务 服务是一个对象或函数,对外提供特定的功能. 8.1 内建服务 1. $location是对原生Javascript中location对象属性和方法的封装. // $location内置服 ...

随机推荐

  1. DataGrip 连接数据库查询出来的结果乱码的问题

    打开连接数据源选项 选择 Advanced----Charset  填入 GBK 应用即可 目前遇到的是连接 SYbase数据库

  2. babel 基本

    babel的大概知识点 . babel常用的转译器是babel-preset-env. 常用的配置选项是plugins和presets 常用的使用场景是在webpack中 https://www.cn ...

  3. 链表有环判断,快慢指针两种方法/合并链表/删除重复元素/二分递归和while

    public static boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return fals ...

  4. Linux命令:chmod

    https://baijiahao.baidu.com/s?id=1616750933810368135&wfr=spider&for=pc

  5. Linux命令:索引

    目录 A B C D E F G H I  jobs J K L M N   nohup O P Q R S T  trU V W X Y Z A alias B C cd D dirs E F G ...

  6. U3D 贴图通道分离后为什么能减小体积

    原理上,分离与否,不会减小图片原始体积,还可能增大了. RGBA32 分离后 = RGB24 + A8,这种情况下大小没变 但压缩后就不一样了,因为RGBA32整张图的压缩过程中,每个像素是否可以压缩 ...

  7. IIS Express

    当前程序员只能通过下面两种web服务器之一来开发和测试ASP.NET网站程序: 1. Visual Studio自带的ASP.NET开发服务器(webdev.exe). 2. Windows自带的II ...

  8. python实现查找算法:二分查找法

    二分查找算法也称折半查找,基本思想就是折半,和平时猜数字游戏一样,比如猜的数字时67,猜测范围是0-100,则会先猜测中间值50,结果小了,所以就会从50-100猜测,中间值为75,结果大了,又从50 ...

  9. Idea使用Maven异常 --- Maven网络代理设置

    在conf/setting.xml和m2/repository/setting.xml中加入: <proxies> <!-- proxy | Specification for on ...

  10. 在Centos 6.5 X64下切割m3u8

    操作系统:centos 6.5 必需要参考的文章: http://blog.chinaunix.net/uid-23069658-id-4018842.html 准备工作: 安装git yum ins ...