小编Bas*_*ann的帖子

如何创建可配置服务Angular 4

我想创建一个服务,以便在几个角度应用程序中重复使用.

我正在使用angular-cli.

我希望服务是可配置的.换句话说,使用DI为每个应用程序提供使用不同配置参数实例化服务的能力.

该服务将位于共享库中,因此无法从父应用程序导入特定文件路径以获取配置参数,它必须通过DI获取它们.

我尝试按照这里的说明进行操作,因为文章描述了我面临的问题,但是我收到了一个错误:

ERROR Error: No provider for String!
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._throwOrNull (core.es5.js:2649)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._getByKeyDefault (core.es5.js:2688)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_._getByKey (core.es5.js:2620)
at ReflectiveInjector_.webpackJsonp.../../../core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489)
at resolveNgModuleDep (core.es5.js:9533)
at _createClass (core.es5.js:9572)
at _createProviderInstance$1 (core.es5.js:9544)
at resolveNgModuleDep (core.es5.js:9529)
Run Code Online (Sandbox Code Playgroud)

另外,来自zone.js:

zone.js:643 Unhandled Promise rejection: No provider for String! ; Zone: <root> ; Task: Promise.then ; Value: Error: No provider for String!
Run Code Online (Sandbox Code Playgroud)

这是我的相关代码:

main.ts:

...
import { provideAuthService } from 'shared-library';
...
platformBrowserDynamic().bootstrapModule(AppModule, [provideAuthService('Good Day')]);
Run Code Online (Sandbox Code Playgroud)

app.module.ts:

... …
Run Code Online (Sandbox Code Playgroud)

angular-services angular-cli angular

6
推荐指数
1
解决办法
1256
查看次数

在 TypeScript 中创建 GUID - 函数在 JS 中有效但在 TS 中无效

我正在尝试使用此处发布的解决方案在我的 angular4/TypeScript Web 应用程序中创建一个 GUID 类型的字符串。

这是我正在编写的函数:

function uuidv4() {
  return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
  )
}
console.log(uuidv4())
Run Code Online (Sandbox Code Playgroud)

TypeScript 给了我以下错误:

Operator '+' cannot be applied to types 'number[]' and '-1000'.
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能使此 TS 兼容?

谢谢!

typescript angular

4
推荐指数
1
解决办法
2012
查看次数