zoukankan      html  css  js  c++  java
  • Part 37 Difference between $scope and $rootScope

    In this video we will discuss the difference between $scope and $rootScope. The main difference is that, $rootScope is available globally (for all controllers), whereas $scope is only available to the controller that has created it and it's children. 



    Let us understand this with an example.

    Controller Code : We have 2 controllers (redColourController & greenColourController). redColourController has set redColour property on $scope and rootScopeColour on $rootScope. This means redColour property cannot be used outside the redColourController, where as rootScopeColour that is set on $rootScope can be used anywhere. greenColourController has set greenColour property on $scope. This means greenColour property cannot be used outside the greenColourController

    var app = angular
                .module("Demo", [])
                .controller("redColourController", function ($scope, $rootScope) {
                    $rootScope.rootScopeColour = "I am Root Scope Colour";
                    $scope.redColour = "I am Red Colour";
                })
                .controller("greenColourController", function ($scope) {
                    $scope.greenColour = "I am Green Colour";
                })


    View HTML : 

    <div ng-controller="redColourController">
        Root Scope Colour : {{rootScopeColour}} <br />
        Red Colour Controller : {{redColour}} <br />
        Green Colour Controller :
        <span style="color:red" ng-show="greenColour == undefined">
            greenColour is undefined
        </span>
    </div>
     
    <br />
     
    <div ng-controller="greenColourController">
        Root Scope Colour : {{rootScopeColour}} <br />
        Green Colour Controller : {{greenColour}} <br />
        Red Colour Controller :
        <span style="color:red" ng-show="redColour == undefined">
            redColour is undefined
        </span>
    </div>


    Output : From the output it is clear that the rootScopeColour property that is set on $rootScope is available for both the controllers (redColourController & greenColourController). Where as redColour property set on $scope is available only for redColourController and not for greenColourController. Similarly, greenColour property set $scope is available only for greenColourController and not redColourController. Hope this example has made the difference between $rootScope and $scope clear. 

  • 相关阅读:
    Spring3+hibernate4+struts2整合的 过程中发生如下错误
    使用HQL语句的按照参数名字查询数据库信息的时候 “=:”和参数之间不能存在空格,否则会报错
    org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver com.mysql.jdbc.Driver class not found
    Java多线程编程:
    数据库连接池的工作原理
    Oracle数据库表的备份和数据表的删除操作
    数据库连接池
    Mysql登录异常的一个问题:
    2019年终总结
    设计模式入门-简单工厂模式
  • 原文地址:https://www.cnblogs.com/gester/p/6535463.html
Copyright © 2011-2022 走看看