Javascript 在AngularJS中使用嵌套控制器时,$scope对象是否在所有控制器之间共享

Javascript 在AngularJS中使用嵌套控制器时,$scope对象是否在所有控制器之间共享,javascript,angularjs,Javascript,Angularjs,我们可以在AngularJS中嵌套控制器吗?对于嵌套控制器,$scope对象是否在所有控制器之间共享 问题是:- 我可以跨所有控制器访问第一个控制器$scope值,但无法在第三个控制器中获取第二个控制器scope对象。您可以在下面的代码段中运行并检查它 var-app=angular.module(“appTest”,[]); 功能控制器1($scope){ $scope.text1=“文本示例1” } 功能控制器2($scope){ $scope.text2=“文本示例2” } 功能控制器3

我们可以在AngularJS中嵌套控制器吗?对于嵌套控制器,$scope对象是否在所有控制器之间共享

问题是:-

我可以跨所有控制器访问第一个控制器$scope值,但无法在第三个控制器中获取第二个控制器scope对象。您可以在下面的代码段中运行并检查它

var-app=angular.module(“appTest”,[]);
功能控制器1($scope){
$scope.text1=“文本示例1”
}
功能控制器2($scope){
$scope.text2=“文本示例2”
}
功能控制器3($scope){
$scope.text3=$scope.text1+”和“+$scope.text2;
}
应用控制器(“控制器1”,控制器1);
应用控制器(“控制器2”,控制器2);
应用控制器(“控制器3”,控制器3)

第一控制器
第一个控制器值是{{text1}
第二控制器
第一个控制器值是{{text1}

第二个控制器值是{{text2} 第三控制器 第一个控制器值+第二个控制器值为{{text3}
是的,可以在angularjs中嵌套控制器。父控制器作用域将沿原型链向下继承,所有子控制器都可以访问父控制器的作用域

但我无法在第三个控制器中获取第二个控制器范围对象

原因是第三个控制器独立于第二个控制器。您不能直接从另一个独立控制器访问
$scope
属性。您可以将第三个控制器嵌套在第二个控制器中,也可以使用服务共享数据(后者更可取)

var-app=angular.module(“appTest”,[]);
功能控制器1($scope){
$scope.text1=“文本示例1”
}
功能控制器2($scope){
$scope.text2=“文本示例2”
$scope.text1=“来自控制器2的文本示例1”;//这将在控制器2中打印,如果您想访问父数据,请使用$parent
}
功能控制器3($scope){
$scope.text3=$scope.text1+”和“+$scope.text2;
}
应用控制器(“控制器1”,控制器1);
应用控制器(“控制器2”,控制器2);
应用控制器(“控制器3”,控制器3)

第一控制器第一控制器值为{{text1}
第二个控制器第一个控制器值为{{$parent.text1}
scond控制器{{text1}中第一个控制器的范围对象值

第二个控制器值为{{text2} 第三个控制器第一个控制器值+第二个控制器值为{{text3}
是的,可以在angularjs中嵌套控制器。父控制器作用域将沿原型链向下继承,所有子控制器都可以访问父控制器的作用域

但我无法在第三个控制器中获取第二个控制器范围对象

原因是第三个控制器独立于第二个控制器。您不能直接从另一个独立控制器访问
$scope
属性。您可以将第三个控制器嵌套在第二个控制器中,也可以使用服务共享数据(后者更可取)

var-app=angular.module(“appTest”,[]);
功能控制器1($scope){
$scope.text1=“文本示例1”
}
功能控制器2($scope){
$scope.text2=“文本示例2”
$scope.text1=“来自控制器2的文本示例1”;//这将在控制器2中打印,如果您想访问父数据,请使用$parent
}
功能控制器3($scope){
$scope.text3=$scope.text1+”和“+$scope.text2;
}
应用控制器(“控制器1”,控制器1);
应用控制器(“控制器2”,控制器2);
应用控制器(“控制器3”,控制器3)

第一控制器第一控制器值为{{text1}
第二个控制器第一个控制器值为{{$parent.text1}
scond控制器{{text1}中第一个控制器的范围对象值

第二个控制器值为{{text2} 第三个控制器第一个控制器值+第二个控制器值为{{text3}