サーバーから返された HTML へのアドオンとして Ember アプリケーションを作成しています。この HTML が必要なのは、検索エンジンがサイトをインデックス化できるようにするためと、ユーザーの最初のページ レンダリングを高速化するためです。
したがって、私のアプリケーションは、サーバーによって生成された HTML のさまざまな DOM 要素に追加されたいくつかの Ember ビューで構成されています。ルートのマスター テンプレートは使用しないので、各ルートの renderTemplate 関数は何もしないように設定します。
私の Ember アプリは body 要素にバインドされており、カスタム ビューをツリーの下の要素に正常に追加できます。できます:
この JSFiddle では、リストの最後の 3 つの要素が Ember によって追加されます。
しかし、テンプレートで linkTo ヘルパーを使用しようとすると、エラーが発生します。
Uncaught TypeError: Cannot read property 'container' of null ember-latest.js:32224
これはこの関数にあります:
router: Ember.computed(function() {
return get(this, 'controller').container.lookup('router:main');
}),
このJSフィドルでは、linkToをテンプレートに追加するだけで、すべてが壊れます
- 一般に、Ember はこのように機能しますか? サーバーによってレンダリングされた HTML に多くのビューが散らばっていますか?
- サンプルコードはどのように修正できますか?