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. 

  • 相关阅读:
    Github 上 36 个最实用的 Vue 开源库
    C 语言快速入门,21 个小项目足矣!「不走弯路就是捷径」
    18个挑战项目带你快速入门深度学习
    Linux 运维入门到跑路书单推荐
    Python 网络爬虫的常用库汇总
    45 个常用Linux 命令,让你轻松玩转Linux!
    [新手必备]Python 基础入门必学知识点笔记
    快速入门 Python 数据分析实用指南
    18位不重复订单号
    相对路径转绝对路径
  • 原文地址:https://www.cnblogs.com/gester/p/6535463.html
Copyright © 2011-2022 走看看