私はいくつかのチュートリアルを読んできましたが、実際にデータをコンポーネントに渡す方法を示すのに十分な深さ(または十分な深さ)はありません。createServerRenderからサーバーサイドにデータを挿入する方法は?
boot.server.ts
で:これは私が得ることができる最も遠い
export default createServerRenderer(params => {
const providers = [
// default providers here
{ provide: 'MYDATA', useValue: params.data.myData }
];
return platformDynamicServer(providers).bootstrapModule(AppModule).then(moduleRef => {
// default implementation
});
コンポーネントで:
import { Component, Inject } from '@angular/core';
@Component({
selector: 'nav-menu',
templateUrl: './navmenu.component.html',
styleUrls: ['./navmenu.component.css']
})
export class NavMenuComponent
{
constructor(@Inject("MYDATA") myData: string) { }
}
しかし、これは私がにデータを取得することができたNo provider for 'MYDATA'!
で失敗しますwindow
しかし、これは明らかにserver-side
で動作しません。
MYDATA
をプロバイダとしてapp.module.server.ts
に追加する必要があるかどうかわかりません。
質問に十分な情報が含まれていません。 「プロバイダ」は実際に使用されていますか? – estus
@estus「プロバイダー」の使い方を示す質問を更新しました。 'default implementation'は、ASP.NET Core 2 Angularテンプレートが作成するものです。 –
okと思われます。私はそれが動作すると思います。なぜそのエラーがあるのかは不明です。問題を再現する方法を提供することを検討してください。 github repo。 – estus