Angular 如何使用ng2 redux和@select执行生产构建?

Angular 如何使用ng2 redux和@select执行生产构建?,angular,redux,angular-cli,Angular,Redux,Angular Cli,我目前正在使用ng2 redux访问我的应用程序中的全局状态。我使用DI来访问可观察的对象。这一切在JIT中都可以正常工作,但当我执行AOT buuild时,我会出现以下错误: ng build --environment=prod --target=production 静态解析符号值时遇到错误。不支持函数调用。考虑引用函数或lambda来替换导出函数(在原.ts文件中的位置25:11),解析符号/admin组件在/用户/jMyPHy/Studio/FIS/CARS/SRC/APP/ADMI

我目前正在使用ng2 redux访问我的应用程序中的全局状态。我使用DI来访问可观察的对象。这一切在JIT中都可以正常工作,但当我执行AOT buuild时,我会出现以下错误:

ng build --environment=prod --target=production
静态解析符号值时遇到错误。不支持函数调用。考虑引用函数或lambda来替换导出函数(在原.ts文件中的位置25:11),解析符号/admin组件在/用户/jMyPHy/Studio/FIS/CARS/SRC/APP/ADMI/ADMI.组件TS/P> 我在所有组件中都使用了以下模式来注入可观察对象:

  @select((state: IAppState) => state.lens) public readonly remoteLens$: Observable<IRemoteObject<LensDTO>>;
  @select((state: IAppState) => state.admin) public readonly remoteAdmin$: Observable<IRemoteObject<AdminDTO>>;
@select((state:IAppState)=>state.lens)公共只读远程镜头$:可观察;
@选择((state:IAppState)=>state.admin)public readonly remoteAdmin$:可观察;
允许通过我的应用程序对全局状态进行类型安全访问并绕过生成错误的正确模式是什么?

您正在寻找:

export function selectBaseId(appstore) {
  return appStore.base.id;
}

class YourClass {
  // ...
  @select(selectBaseId) routeId$: Observable<number>;
}
导出函数selectBaseId(appstore){
返回appStore.base.id;
}
你的班级{
// ...
@选择(selectBaseId)routeId$:可观察;
}
或使用选择器:

export function selectBaseId(appstore) {
  return appStore.base.id;
}

class YourClass {
  // ...
  @select(['base', 'id']) routeId$: Observable<number>;
}
导出函数selectBaseId(appstore){
返回appStore.base.id;
}
你的班级{
// ...
@选择(['base','id'])routeId$:可观察;
}

从angular redux问题:

这确实有效。但这是荒谬的语法。这看起来像个虫子。