Angular $scope和$rootScope

<!DOCTYPE html><html ng-app=‘myModule‘><head lang="en">  <meta charset="UTF-8">  <script src="js/angular.js"></script>  <title></title></head><body><div ng-controller="myCtrl01">  <p>{{"num1 in myCtr01 is "+num1}}</p>  <p>{{"num2 in myCtr01 is "+num2}}</p></div><div ng-controller="myCtrl02">  <p>{{"num1 in myCtr02 is "+num1}}</p>  <p>{{"num2 in myCtr02 is "+num2}}</p>  <!-- myCtrl03的$scope  就是myCtrl02$scope的子组用对象-->  <div ng-controller="myCtrl03">    <p>{{"num3 in myCtrl03 is "+num3}}</p>  </div></div><script>  var app = angular.module(‘myModule‘, [‘ng‘]);  app.controller(‘myCtrl01‘,    function ($scope, $rootScope) {      console.log(‘myCtrl01 func is called‘);      $scope.num1 = 10;      console.log($scope);      console.log($rootScope);      $rootScope.num2 = 100;    })  app.controller(‘myCtrl02‘, function ($scope) {    console.log(‘myCtrl02 func is called‘);    console.log($scope);    $scope.num3 = 99;  })  app.controller(‘myCtrl03‘, function ($scope) {  })</script>

</body></html>
时间: 2024-10-31 12:38:57

Angular $scope和$rootScope的相关文章

ng $scope与$rootScope的关系

$scope与$rootScope的关系:①不同的控制器之间 是无法直接共享数据②$scope是$rootScope的子作用域对象$scope的id是随着控制器的加载顺序依次递增,$rootScope的id是1 ③不同控制器之间如何通信??1.借助于$rootScope2.既然子作用域对象可以调用父作用域对象的值或者方法,就可以通过控制器之间的嵌套来实现通信3.事件父->子$scope.$broadcast('eventName',args) 子->父$scope.$emit('eventNa

Angular.js 学习二---$scope和$rootScope,Angular模块的run方法,依赖注入中代码压缩

一.$scope和$rootScope的区别 一句话总结: $rootScope针对全局的作用域生效 $scope只针对当前的controller作用域生效 二.AngularJS模块的run方法 run方法初始化全局的数据,只对全局作用域起作用 如$rootScope <script type="text/javascript"> var m1 = angular.module('myApp', []); m1.run(['$rootScope', function ($

Angular $scope和$rootScope事件机制之$emit、$broadcast和$on

Angular按照发布/订阅模式设计了其事件系统,使用时需要"发布"事件,并在适当的位置"订阅"或"退订"事件,就像邮箱里面大量的订阅邮件一样,当我们不需要时就可以将其退订了.具体到开发中,对应着$scope和$rootScope的$emit.$broadcast和$on方法.本文介绍Angular的事件机制,包括$scope和$rootScope处理事件上的异同,$broadcast.$emit和$on的使用方式及他们区别等内容. $scope

通过几段代码,理清angularJS中的$injector、$rootScope和$scope的概念和关联关系

$injector.$rootScope和$scope是angularJS框架中比较重要的东西,理清它们之间的关系,对我们后续学习和理解angularJS框架都非常有用. 1.$injector其实是一个IOC容器,包含了很多服务(类似于spring框架中的bean),其它代码能够通过       $injector.get("serviceName")的方式,从injector中获取所需要的服务.详情参考这篇文章 2.scope是angularJS中的作用域(其实就是存储数据的地方)

AngularJS 深入理解 $scope 转载▼

AngularJS 深入理解 $scope 转载▼ (2015-04-07 14:09:50) $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了$scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的 $scope发生改变时也会立刻重新渲染视图. 有了 $scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $sco

(十一)通过angularjs的ng-repeat指令看scope的继承关系

ng-repeat指令的使用方式可以参考如下代码: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>ng-repeat</title> <script src="jquery-1.11.1.js"></script> <script src="a

Angular 中得 scope 作用域梳理

$scope 的使用贯穿整个 Angular App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了 $scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的 $scope 发生改变时也会立刻重新渲染视图. 有了 $scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $scope 中. $rootScope Angular 应用启动并生成视图时,会将根 ng-app 元

Angular作用域的层级概念(scope)

首先引入 angular 的根作用域:$rootScope ng-app:定义了angualr的作用域 ng-controller:定义了控制器 $scope定义了视图与控制器之间的纽带,而scope本身是垂直继承的,当子作用域没有定义,便会找父作用域,逐层往上找直到根作用域 $rootScope. 没有定义控制器的元素对应的即是根作用域,如下(<div>{{msg}}</div>) 看下面代码,当我们点击parent控制器时,发现其子控制器内容会跟着变化,而父控制器以及根作用域绑

[AngularJS面面观] 5. scope中的两个异步方法 - $applyAsync以及$evalAsync

Angular中digest循环的主干是对于watchers的若干次遍历,直到整个scope中的数据"稳定"下来,这部分实现在这篇文章中已经进行了详尽的介绍.相关的一些细节优化也在这篇文章中进行了分析. 除了主干的内容,digest循环的内容其实还包括几个比较有趣的部分,比如这一节我们即将分析的$evalAsync以及$applyAsync,下面我们就来通过相关源代码来分析一下: $digest: function() { var watch, value, last, fn, get