Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Angularjs 在角度混合应用程序中,模块相对于角度区域的具体工作方式是什么?_Angularjs_Angular_Angular Changedetection_Ng Upgrade_Angular Upgrade - Fatal编程技术网

Angularjs 在角度混合应用程序中,模块相对于角度区域的具体工作方式是什么?

Angularjs 在角度混合应用程序中,模块相对于角度区域的具体工作方式是什么?,angularjs,angular,angular-changedetection,ng-upgrade,angular-upgrade,Angularjs,Angular,Angular Changedetection,Ng Upgrade,Angular Upgrade,我主要对这一行的影响感兴趣: 与UpgradeModule不同,DegradeModule()不会在角度区域内引导主AngularJS模块 这是否意味着应用程序的初始引导将在角度区域之外运行?或者,实例化的服务、工厂等是否也会在角度区域之外运行 如果只是初始引导,那么如何在角度区域之外运行AngularJS侧的特定部分(主要是出于性能原因) 一个简单的例子解释了为什么我感到困惑,它是一个AngularJS服务,它做了如下事情: element.on('click', handlerFn); fu

我主要对这一行的影响感兴趣:

与UpgradeModule不同,
DegradeModule()
不会在角度区域内引导主AngularJS模块

这是否意味着应用程序的初始引导将在角度区域之外运行?或者,实例化的服务、工厂等是否也会在角度区域之外运行

如果只是初始引导,那么如何在角度区域之外运行AngularJS侧的特定部分(主要是出于性能原因)

一个简单的例子解释了为什么我感到困惑,它是一个AngularJS服务,它做了如下事情:

element.on('click', handlerFn);
function handlerFn () {
    scope.$apply(function () {
        // update some scope binding
    });
}
在本例中,单击处理程序发生在AngularJS中的更改检测之外,这就是为什么需要
作用域。$apply

但是,角度变化检测是另一回事:

首先,有一些事件经过修补后会自动在角度区域内工作

其次,我注意到,如果从
UpgradeComponent
中调用服务,则它位于角度区域内,但如果它是从应用程序的另一部分调用的,而不是从
UpgradeComponent
中调用的,则它不在该区域内

这仅仅是因为它被升级的组件调用吗?如果是这样的话,是否有一些标准的解决方法让代码在角度区域之外运行,比如在引导期间或在升级组件中运行?或者尝试这样做是一种不好的做法(比如它会导致AngularJS和AngularJS之间的同步问题)

如果有必要,我可以试着给出一个最小的例子

编辑: 这并不完全是我正在使用的环境(就角度而言),但这里是我正在谈论的关于角度区域的行为