0

いくつかの s (名前付きおよび名前なし) と指定されたプロパティを持つ 1 つapplication.hbsを宣言するテンプレートがあります。{{outlet}}viewClass

アプリケーション.hbs :

{{outlet 'modal'}}
{{outlet 'notification'}}
<h1>EAK Application</h1>
{{#view 'application/content'}}
  {{!some HTML markup, etc. }}

  {{outlet viewClass='application/content-container'}}
{{/view}}

そして私のビューファイルは下に置かれます

app/views/application/content.js
app/views/application/content-container.js

しかし、Ember App Kit はcontent-containerビューを見つけることができません!

キャッチされないエラー: アサーションに失敗しました: パス 'views/application/content-container' でビューが見つかりません

私は何か間違ったことをしていますか?

編集


その間、私は簡単な回避策を実行し、次のように呼び出します

{{#view 'application/content-container'}}
  {{outlet}}
{{/view}}

しかし、これは私に余分な<div>レイヤーを与え、「エレガントではない」私見です...

4

1 に答える 1

1

現在の Ember API リファレンス ( http://emberjs.com/api/classes/Ember.Handlebars.helpers.html#method_outlet ) では、アウトレットのプロパティは次のようにしてはいけませviewviewClass

{{#view 'application/content'}}
  {{!some HTML markup, etc. }}

  {{outlet view='application/content-container'}}
{{/view}}

建物のアプリを完全に理解していないため、特定の推奨事項を作成することはできませんが、ディープリンク URL を利用したい場合は、可能な場合はルートを使用して、テンプレート/ビューをアウトレットに割り当てる必要があります。

たとえば、IndexRoute は と を期待しますIndexTemplate(IndexViewまたはバックグラウンドで作成します)。Ember App Kit では、それらは と にapp/views/index.jsありapp/templates/index.hbsます。Rendering a TemplateEmber のサイトでガイドを確認してください: http://emberjs.com/guides/routing/rendering-a-template/

または、次のようなビュー ヘルパーを使用することもできます。

{{view 'my-view'}}

これは、ビュー ヘルパーが実際のクラスを期待する通常の Emberビュー ヘルパーとは異なります。app/viewsEmber App Kit では、ルートからのビューのファイル名とパスに基づくファイルへのパスです。

于 2014-03-28T09:23:29.087 に答える