• 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. 

  • 相关阅读:
    proc文件系统的简介
    linux获取文件属性(API)
    busybox inittab文件分析
    设计模式之Builder模式
    This用法
    以 280W 数据为依据。对比SQL2008 表分区前和分区后的 T_SQL 效率
    jquery数据验证插件(自制,简单,练手)
    C# 每天温习一点(IEnumerable<TSource>)
    多线程应用扫盲(如何简单使用多线程)
    之前做web性能优化的一些个人心得
  • 原文地址:https://www.cnblogs.com/gester/p/6535463.html
Copyright © 2020-2023  润新知