Angular1 - < - > Angular2 Bridge访问$ rootScope

时间:2016-09-21 14:31:15

标签: angularjs angular angular2-upgrade

我使用以下升级/降级网桥https://angular.io/docs/ts/latest/guide/upgrade.html在一个应用程序中并排 Angular1 Angular2

我的问题是,是否有可能从 Angular2 服务访问 Angular1 $rootScope。要明确我不询问 Angular2 $rootScope的等价物。

2 个答案:

答案 0 :(得分:2)

所以我会回答我自己的问题。

您必须按以下方式升级$rootScope

upgradeAdapter.upgradeNg1Provider('$rootScope')

然后可以在Angular2服务中注入,如下所示:

@Injectable()    
class ExampleAngular2Service {
    constructor(@Inject('$rootScope') private _rootScope: any) {}
}

答案 1 :(得分:2)

所需要的只是:

@Injectable()    
class ExampleAngular2Service {
  constructor(@Inject('$rootScope') private _rootScope: IRootScopeService) {}
}

你不必升级任何东西,默认情况下它就在那里。见http://www.spaprogrammer.com/2017/03/inject-rootscope-into-angular-2.html

使用现在recommended

在Angular 6 Hybrid上测试
import { UpgradeModule } from '@angular/upgrade/static';