相关疑难解决方法(0)

如何在要素模块层次结构中使用.forRoot()

任何人都可以向我澄清我应该如何使用.forRoot()调用构建多个嵌套的功能模块层次结构?

例如,如果我有这样的模块怎么办:

- MainModule
- SharedModule
- FeatureModuleA
    - FeatureModuleA1
    - FeatureModuleA2
- FeatureModuleB
Run Code Online (Sandbox Code Playgroud)

所有要素模块都具有.forRoot()静态函数.

我应该如何定义FeatureModuleA以某种方式"转移".forRoot()函数?

@NgModule({ 
  imports: [
    //- I can use .forRoot() calls here but this module not the root module
    //- I don't need to import sub-modules here, FeatureA only a wrapper
    //FeatureModuleA1.forRoot(), //WRONG!
    //FeatureModuleA2.forRoot(), //WRONG!
  ],
  exports: [
    //I cannot use .forRoot() calls here
    FeatureModuleA1, 
    FeatureModuleA2 
  ]
})
class FeatureModuleA {
  static forRoot(): ModuleWithProviders {
    return {
      //At this point I can set any …
Run Code Online (Sandbox Code Playgroud)

angular-material2 angular

53
推荐指数
2
解决办法
4万
查看次数

如何本地化我的 Angular 11 库?

我正在将我的 Angular 11 应用程序重构为库。我的常规应用程序是本地化的,@angular/localize用作开发依赖项,因此我$localize在我的部分代码中使用了该指令。我需要将带有此指令的代码移动到库中,但我不知道如何执行此操作。

在我的库package.json文件中,我添加了一个 peer-dependency on@angular/localize以匹配我的应用程序中的 devDependency:

{
  "name": "example",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^11.0.0",
    "@angular/core": "^11.0.0",
    "@angular/localize": "~11.0.0"
  },
  "dependencies": {
    "tslib": "^2.0.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,编译器报告说,$localize当我尝试执行ng build <library name>.

× Compiling TypeScript sources through NGC
ERROR: projects/example/src/lib/example.service.ts:52:23 - error TS2304: Cannot find name '$localize'.

52         description = $localize `example localized text`;
                         ~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

如何$localize在我的库中使用该指令?

>ng version

     _                      _                 ____ _     ___
    / \   _ …
Run Code Online (Sandbox Code Playgroud)

angular angular-library angular-localize

8
推荐指数
2
解决办法
1159
查看次数