Scope 概述

AngularJS 应用组成如下:
View(视图), 即 HTML。
Model(模型), 当前视图中可用的数据。
Controller(控制器), 即 JavaScript 函数,可以添加或修改属性。

scope 是模型。

scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中使用。

<div ng-app="myApp" ng-controller="myCtrl">
  <input ng-model="name">
  <h1>我的名字是 {{name}}</h1>
</div>
<script>
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function($scope) {
    $scope.name = "John Dow";
  });
</script>

了解你当前使用的 scope 是非常重要的。
在以上案例中,只有一个作用域 scope,所以处理起来比较简单,但在大型项目中, HTML DOM 中有多个作用域,这时你就需要知道你使用的 scope 对应的作用域是哪一个。

根作用域

所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。
$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。

<div ng-app="myApp" ng-controller="myCtrl">
  <h1>{{lastname}} 家族成员:</h1>
  <ul>
    <li ng-repeat="x in names">{{x}} {{lastname}}
  </ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $rootScope) {
  $scope.names = ["Emil", "Tobias", "Linus"];
  $rootScope.lastname = "Refsnes";
});
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过AngularJS仿豆瓣一刻的案例:https://github.com/zhongxiaolian/doub...
    中小恋阅读 1,799评论 1 21
  • title: 看书总结之AngularJS权威教程 第一章 初始AngularJS 1.浏览器是如何获取网页的 当...
    曹小琳琳阅读 946评论 0 6
  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 1,668评论 0 3
  • 1.类库( 提供类方法 ) 和框架 类库提供一系列的函数和方法的合集,能够加快你写代码的速度。但是主导逻辑的还是自...
    w_zhuan阅读 1,848评论 0 8
  • 大漠月,烂如银。边关沙,亮如雪。一壶酒,半阙歌,醉里舞剑唱楚歌。 秋节至,华叶落。封侯事,知何处?眉间事,心上意,...
    左手边的河阅读 369评论 0 1