4

ASPNet Angular SPAテンプレートを使用しています。NGX-Chartsをインポートしようとしていますが、サーバ側のプレレンダリングでは機能しません。ですから、NGXチャートモジュールをapp.module.browser.tsにインポートするだけでクライアント側をレンダリングするようにしています。アンケートユニバーサルのみのクライアントサイドとしてコンポーネントをマーク

私はこれを行う際にテンプレートがエラーを解析取得していますしかし:それはNGX-チャート-上級円グラフの既知のプロパティではありませんので、

は「ビュー」にバインドできません'

ブラウザにのみレンダリングするようにコンポーネントをマークする正しい方法はありますか?これがある場合、これは十分に文書化されていないようです。

また、アンギュラユニバーサルアプリでNGX-Chartを参照する正しい方法がありますか?

答えて

3

この問題は、サーバー側のレンダリング用に最適化されていないサードパーティのモジュールに適用されます。

問題を回避するには、代わりにダミーモジュールをapp.module.server.tsからモジュールを除外するとインポートすることである元のモジュールからスタブ全てのユニット、または少なくとも現在のアプリケーションで使用されているもの:

@Component({ selector: 'ngx-charts-advanced-pie-chart' }) 
class DummyAdvancedPieChartComponent { 
    @Input('view') view; 
} 

ある場合元のモジュールからインポートすることができない使用中のプロバイダは、同様にスタブされるべきです。

ダミーのコンポーネントとディレクティブの代わりに、custom schemaを使用します。 NO_ERRORS_SCHEMAの使用は、有用なエラーも抑制するので望ましくない。

+0

こんにちは@stus、NGXグラフの完全な例をどこにでも知っているとは思いません。私はこれを行い、「SVGが見つかりません」というメッセージを得るようになりました。 – gmn

+0

あなたの場合、 。議論中のモジュールがスタブされているにもかかわらず、どこからメッセージが出るのかが明らかになるまで、アプリケーションをデバッグすることをお勧めします。 node_modulesを含むコードベースで「SVGが見つかりません」または「見つからない」を検索すると役に立ちます。可能であれば、http://stackoverflow.com/help/mcveを提供することを検討してください。 – estus

関連する問題