1

我正在将应用程序从 AngularJS (v 1.5) 升级到新版本的 Angular

根据要进行升级的文档, $rootScope它在最新版本中不可用。我已经删除了 $apply() 但我对删除$new. $new在 Angular2+ 中是否有任何等价物?

我的疑问是特定于$new

4

3 回答 3

1

如果您$rootScope.$new()在 AngularJS 中使用了函数,它可能会迁移到 Angular2 中的单独子组件中。

Angular2 中没有此功能的等效功能,但其概念是为模态、工具提示或任何其他元素创建单独的上下文。

于 2018-09-21T10:09:49.590 回答
1

peterK $rootscope 用于 angularjs 中的数据共享。要在其他版本中共享数据,您必须使用服务。如需最佳解决方案,请参阅以下链接 https://angularfirebase.com/lessons/sharing-data-between-angular-components-four-methods/

于 2018-09-21T10:02:58.073 回答
1

应该删除所有 $scope 概念。

apply不相关,因为更改检测几乎总是自动的(在某些特定情况下,您应该改用NgZone)。

一般来说,您应该将共享服务用于您现在想要做的事情(在组件之间共享数据和逻辑)。

此答案中的更多信息

于 2018-09-21T10:03:33.140 回答