gpt4 book ai didi

angularjs - 迁移到 Angular2 : How to use injected AngularJS dependencies

转载 作者:太空狗 更新时间:2023-10-29 18:16:00 26 4
gpt4 key购买 nike

在迁移到构造函数之外的 Angular2 期间,我应该如何使用 AngularJS 依赖项?我正在使用升级模块,服务尚未升级。

最佳答案

所以答案是部分Making AngularJS Dependencies Injectable to Angular但没有演示如何使其在构造函​​数之外可用。

这是 $log angularJS 服务的示例。

创建 ajs-upgraded-providers.ts 我们声明提供者:

/**
* $log upgraded provider
*/
export abstract class Log {
[key: string]: any;
}

export function logFactory(i: any) {
return i.get('$log');
}

export const logProvider = {
provide: Log,
useFactory: logFactory,
deps: ['$injector']
};

将声明的提供程序导入到 app.module.ts:

import { logProvider } from './ajs-upgraded-providers';

@NgModule({
imports: [
//imports
],
providers: [
//Providers & Services

//Upgraded angularJS providers
logProvider
]
})

example.service.ts 如何在迁移发生时使用 angularJS 服务:

import { Log } from '../ajs-upgraded-providers'; //edit path accordingly

@Injectable()
export class ExampleService {

constructor(private $log: Log) {}

exampleFunction() {
this.$log.info("Info to be logged");
}

}

关于angularjs - 迁移到 Angular2 : How to use injected AngularJS dependencies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44461612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com