2017-06-12 8 views
0

私は現在、アプリケーションでグローバル状態にアクセスするためにng2-reduxを使用しています。私はDIを使ってObservableにアクセスします。これは、すべてのJITで正常に動作しますが、私はAOTを実行buuild私は次のエラーを取得するとき:エラーでng2-reduxと@selectを使用してプロダクションビルドを実行するにはどうすればよいですか?

ng build --environment=prod --target=production 

ERRORは、静的シンボル値を解決遭遇しました。関数呼び出しはサポートされていません。関数またはラムダをエクスポートされた関数(元の.tsファイルの25:11の位置)への参照で置き換え、/Users/jmurphy/projects/fish/tank/src/app/admin/admin.componentのAdminComponentシンボルを解決することを検討してください.TS

私が観測を注入するために、私のすべてのコンポーネントで、次のパターンを使用してきた:

@select((state: IAppState) => state.lens) public readonly remoteLens$: Observable<IRemoteObject<LensDTO>>; 
    @select((state: IAppState) => state.admin) public readonly remoteAdmin$: Observable<IRemoteObject<AdminDTO>>; 

を通じてグローバルな状態のタイプ安全なアクセスを可能にするために使用する正しいパターンであり、どのような私のアプリケーションを外し、ビルドエラーをバイパスしますか?

答えて

0

あなたが探している:

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

class YourClass { 
    // ... 
    @select(selectBaseId) routeId$: Observable<number>; 
} 

またはセレクタと:

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

class YourClass { 
    // ... 
    @select(['base', 'id']) routeId$: Observable<number>; 
} 

角度-Reduxの問題から:https://github.com/angular-redux/store/issues/236

+0

作業を行います。しかし、それはばかげた構文です。これはバグのようです。 –

関連する問題