我试图获取现有的ngrx存储状态并将其重构为子功能模块。问题是当我在我的功能模块导入中使用StoreModule.forFeature时......我在编译时遇到错误:
ERROR in [at-loader] ./src/app/components/login/login.module.ts:67:21
TS2339: Property 'forFeature' does not exist on type 'typeof StoreModule'.
我实际上在node_modules / @ ngrx / store中搜索了" forFeature"没有结果。然后我重新安装了@ ngrx / store& @ ngrx / core,仍未获得' forFeature'的搜索结果。我检查了文档和' forFeature'仍然列在文档的列表中,而不是删除。
导入语句如下:
import {StoreModule} from "@ngrx/store";
import {reducers} from "./rdx/reducers/index"; ...
@NgModule({
imports: [StoreModule.forFeature('loginFeature',reducers)]
...
}
使用o NGRX的版本如json包中所示如下:
"@ngrx/core": "^1.2.0",
"@ngrx/store": "^2.2.3",
还搜索了谷歌这个问题没有结果。只有" forRoot"到"提供商店"我已经使用过了。
答案 0 :(得分:2)
解决了这个问题。 问题遗留下来:
当我安装ngrx时,它会自动安装最新的ngrx版本,意思是 2.2.3 ,安装最新的我必须使用 npm install - 保存@ ngrx / store @ latest @ ngrx / core @ latest ,安装“@ ngrx / store”:“^ 5.2.0”
ngrx的文档 - 在他们的github文档中,他们指示您专门安装ngrx,如下所示: npm install @ ngrx / core @ ngrx / store @ 2.2.3 --save ,您可以在安装下的以下链接中看到这一点:https://github.com/ngrx/store
答案 1 :(得分:0)
您的代码还有其他问题。
错误没有说"属性' forFeature'在StoreModule"
类型中不存在它表示"属性' forFeature'在类型TYPEOF StoreModule"上不存在(应该是未定义的)。