AngularJS中的父作用域与自作用域

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS中的父作用域与自作用域相关的知识,希望对你有一定的参考价值。

  • 对于$scope上的原生类型,如$scope.name="";
    • 自作用域获取变量时,会查找作用域本身,找不到就会查找父作用域
    • 修改时,若本作用域不存在,就会在本作用域创建一个变量,而不会向上查找并修改父作用域的变量
  • 对于$scope上的对象,如$scope.name={};
    • 自作用域获取变量时,会查找作用域本身,找不到就会查找父作用域
    • 修改时,若本作用域不存在,会向上查找并修改父作用域的变量
 1 <!DOCTYPE html>
 2 <html >
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <div ng-app="myApp">
 9     <div ng-controller="ParentController">
10         {{name}}
11         <br />
12         {{name1.value}}
13         <div ng-controller="ChildController">
14             {{name}}
15             <br />
16             {{name1.value}}
17         </div>
18     </div>
19 </div>
20 <script src="../angular-1.5.8/angular.js"></script>
21 <script>
22     var app = angular.module(myApp,[]);
23     app.controller(ParentController,function($scope){
24         $scope.name = "1";
25         $scope.name1={};
26         $scope.name1.value="2";
27     });
28     app.controller(ChildController,function($scope){
29         //$scope.name = "3";
30         //$scope.name1.value="4";
31     });
32 
33 </script>
34 </body>
35 </html>

 

以上是关于AngularJS中的父作用域与自作用域的主要内容,如果未能解决你的问题,请参考以下文章

控制器controller与指令中的linkcontroller中同名变量作用域的关系

AngularJS 指令的 Scope (作用域)

jsz中的作用域与上下文

动态作用域与this +apply和call +bind

angularJs指令的Scope(作用域)

01.JS块级作用域与let