誰かがPlay FrameworkとAngularJSの間でモデルをバインドする良い方法を見つけたのかどうか疑問に思っていました。たとえば、URLをヒットし、指定されたPersonオブジェクトのサーバー側のテンプレートを使用してPlay Frameworkによってページが生成されます。これで、AngularJSを使用して豊富なユーザーエクスペリエンスを実現し、クライアント側のJavaScript/AngularJSテンプレート内でそのPersonオブジェクトを使用したいとします。AngularJSとPlay Frameworkモデルのバインディングとテンプレート
これを行う1つの方法は、AngulraJSから別のAjax呼び出しを作成し、JSモデルに移入することです。これは、そのPersonオブジェクトのページを生成するための最初の呼び出しでは冗長に見えます。
person = @Html(FrontEnd.personToJSON(thisPersonObject));
しかし、その後、あなたは$scope
内の人物オブジェクトを設定する必要があります。
もう一つの方法は、このような何かをすることです。さらに、これは、オブジェクト全体がJSON形式であり、htmlページの中に配置されるため、ハックのように見えます。
私は、このWebアプリケーションを、たとえばPlayがデータの取得と操作のためのクリーンなAPIを備えた単なるサービス層であるSPAデザインを使用して設計する方がよいことを知っています。これにより、MVCをクライアント側で厳密に行うことができます。
どのような考えですか?
シングルページアプリケーションの場合、SEOに関する考慮点は何ですか? – Dimitry
ベストは、あなたのアプリ/製品の宣伝用ウェブサイトを作成するのではなく、アプリをSEOフレンドリーにすることです。一例として、basecamp.comはプロモーションウェブサイトであり、[yourname] .basecamp.comはアプリケーションです。 –