AngularJS Scope(作用域)

Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。Scope 是一个对象,有可用的方法和属性, 可应用在视图和控制器上。
当我们在 AngularJS 创建控制器时,我们可以将 $scope 对象当作一个参数传递,当在控制器中添加 $scope 对象时,视图 (HTML) 可以获取了这些属性。视图中,我们不需要添加 $scope 前缀, 只需要添加属性名即可,如: {{carname}}。
在一个复杂的页面上,我们可能会使用多个scope,所以要注意scope对应的作用域对应的是那个。
如果我们需要scope 的作用域在整个应用内都有效,那么我们可以使用根作用域,即$rootScope$rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。
下面我们通过一段代码来演示scope 的使用:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title>AngularJS</title>
        <script type="text/javascript" src="js/angular.min.js"></script>
        <script type="text/javascript">
            var app = angular.module("myApp", []);
            app.run(function($rootScope){
                $rootScope.first = "jiang";
            });
            app.controller("ctrl1", function($scope){
                $scope.last = "gujin";
            });
            app.controller("ctrl2", function($scope){
                $scope.last = "haiqing";
            });
        </script>
    </head>

    <body ng-app="myApp">

        <div ng-controller="ctrl1">
            {{first}} {{last}}
        </div>
        <div ng-controller="ctrl2">
            {{first}} {{last}}
        </div>

    </body>

</html>

页面显示效果如下:

看到实际运行的效果,我们很容易的就可以知道$scope是相互独立的,而$rootScope是全局的。

时间: 2025-01-25 12:15:44

AngularJS Scope(作用域)的相关文章

AngularJS入门教程之Scope(作用域)_AngularJS

AngularJS Scope(作用域) Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上. 如何使用 Scope 当你在 AngularJS 创建控制器时,你可以将 $scope 对象当作一个参数传递: AngularJS 实例 控制器中的属性对应了视图上的属性: <!DOCTYPE html> <html> <head> <me

AngularJs学习第五篇从Controller控制器谈谈$scope作用域_AngularJS

Controller的创建 AngularJs controller使用无处不在,在里代码演示比较简单的创建工作. <!DOCTYPE html> <html xmlns="http://www.w.org//xhtml" ng-app="exampleApp"> <head> <meta http-equiv="Content-Type" content="text/html; charset

AngularJs Scope详解及示例代码_AngularJS

一.什么是Scope? scope(http://code.angularjs.org/1.0.2/docs/api/ng.$rootScope.Scope)是一个指向应用model的object.它也是expression(http://www.cnblogs.com/lcllao/archive/2012/09/16/2687162.html)的执行上下文.scope被放置于一个类似应用的DOM结构的层次结构中.scope可以监测(watch,$watch)expression和传播事件.

关于angularJs指令的Scope(作用域)介绍_AngularJS

每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部的Controller提供的作用域或者根作用域($rootScope)),还是创建一个新的自己的作用域,当然AngularJS为我们指令的scope参数提供了三种选择,分别是:false,true,{}:默认情况下是false. 1.scope = false JS 代码: html 代码: result: 修改文本框的内容,两个名字都会变,实际上修改的是同一个$scope的name属性. 2. scope=true

AngularJs Scope

Scope是AngularJS里的一个很重要的概念,简单的说它就是用来保存AngularJS Model们的对象,是Model们温暖的小家 那这个小家是什么时候造的呢? Java代码   <html ng-app="mainApp">   </html>   我们知道,ng-app是一个应用启动AngularJS的入口点,在这里也会创建一个root scope,在controller里可以通过$rootScope调到,每个应用只能有一个root scope,但它

AngularJS 全局scope与Isolate scope通信

在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope通信掌握的不够透彻,这里对全局scope 和 directive本地scope的使用做一个总结. 一.scope作用域 1.AngularJS中,子作用域一般都会通过JavaScript原型继承机制继承其父作用域的属性和方法.但有一个例外:在 directive中使用scope: { ... },这种方式创建的作用域是一个独立的"Isolate"作用域,它

AngularJS深入探讨scope,继承结构,事件系统和生命周期_AngularJS

本文实例讲述了AngularJS的scope,继承结构,事件系统和生命周期.分享给大家供大家参考,具体如下: 深入探讨 Scope 作用域 每一个 $scope 都是类 Scope 的一个实例.类 Scope 拥有可以控制 scope 生命周期的方法,提供事件传播的能力,并支持模板渲染. 作用域的层次结构 让我们再来看看这个简单的 HelloCtrl 的例子: var HelloCtrl = function($scope){ $scope.name = 'World'; } HelloCtrl

深入探究AngularJS框架中Scope对象的超级教程_AngularJS

一.遇到的问题问题发生在使用 AngularJS 嵌套 Controller 的时候.因为每个 Controller 都有它对应的 Scope(相当于作用域.控制范围),所以 Controller 的嵌套,也就意味着 Scope 的嵌套.这个时候如果两个 Scope 内都有同名的 Model 会发生什么呢?从子 Scope 怎样更新父 Scope 里的 Model 呢? 这个问题很典型,比方说当前页面是一个产品列表,那么就需要定义一个 ProductListController function

AngularJS全局scope与Isolate scope通信用法示例_AngularJS

本文实例讲述了AngularJS全局scope与Isolate scope通信用法.分享给大家供大家参考,具体如下: 在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope通信掌握的不够透彻,这里对全局scope 和 directive本地scope的使用做一个总结. 一.scope作用域 1.AngularJS中,子作用域一般都会通过JavaScript原型继承机制继承其父作用域的属性和方法.但有一个例外:在dire