Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 父控制器';AngularJS中的范围与共享服务?_Javascript_Angularjs - Fatal编程技术网

Javascript 父控制器';AngularJS中的范围与共享服务?

Javascript 父控制器';AngularJS中的范围与共享服务?,javascript,angularjs,Javascript,Angularjs,我有一个带有多个子屏幕的屏幕,每个子屏幕都有自己的控制器。 如果他们要在他们之间共享数据,在拥有具有顶级作用域的父控制器或共享服务(这对AngularJS来说更为习惯?对于控制器之间的简单数据共享,共享服务是更好的选择。 使用控制器的继承将逻辑与视图联系起来,这会降低代码的灵活性和易出错性: 如果没有另一个控制器,则无法使用页面上的一个控制器(绑定 父母对子女) 您必须确保以正确的顺序声明控制器 中间父级控制器可能会隐藏顶部父级变量 您也可以考虑使用一个事件模型(带有 $ROOTHORCTO

我有一个带有多个子屏幕的屏幕,每个子屏幕都有自己的控制器。
如果他们要在他们之间共享数据,在拥有具有顶级作用域的父控制器或共享服务(这对AngularJS来说更为习惯?

对于控制器之间的简单数据共享,共享服务是更好的选择。
使用控制器的继承将逻辑与视图联系起来,这会降低代码的灵活性和易出错性:

  • 如果没有另一个控制器,则无法使用页面上的一个控制器(绑定 父母对子女)
  • 您必须确保以正确的顺序声明控制器
  • 中间父级控制器可能会隐藏顶部父级变量

您也可以考虑使用一个事件模型(带有<代码> $ROOTHORCTORION/COD>),如果您必须通知许多控制器。