2012-05-29 12 views
8

Ember.jsについて知りました。面白そうです。私はそれを使用する方法を学ぶために小さなノートアプリを作成したいと思います。Ember.jsでWebアプリケーションを作成する

私が気にしている基本的なレイアウトはカテゴリを持つことです。各カテゴリにメモを付けることができます。 UIの場合、クリック可能なカテゴリのサイドバーがあり、カテゴリのノートが反対側に表示されます。

しかし、私は完全にテンプレート/レイアウトシステムを理解することはできません。テンプレートシステム自体は、(Railsビューに似たものの)十分に単純なようです。しかし、あなたはレイアウトのために何をしていますか?たとえば、Railsを使用すると、レイアウトを非常に簡単に定義して、個々のビューを追加することができます。これはEmber.jsの私には不明なようです。

答えて

1

単純なラッパースタイルのレイアウトでは、Emberの組み込みのlayout supportを使用できます。単一の{{yield}}をサポートしているだけなので、アプリケーションにはあまりにも制限があります。

もう少し頑強なものについては、Ember Layoutをご覧ください。私はあなたがRailsのレイアウトと非常によく似ていると思います。彼はlive example hereを持っています。

最後に、(レイアウトの代わりに、またはレイアウトに加えて)Emberでビューの階層を作成するのはかなり簡単です。 Tom DaleにはEmberの豊富なリソースとサンプルがあります。here

9

言及 @rharperアプローチ加えて、あなたはまた、ウィッヒは5a4917bをコミット中に導入されている、outletヘルパーを使用することができます。

ハンドル

<script type="text/x-handlebars" data-template-name="main" > 
    Main View 
    {{outlet contentView}} 
    {{outlet footerView}} 
</script> 

JavaScriptの

あなたは一例here見つけることができます。この例では

App.viewController = Ember.Object.create({ 
    footerView: Ember.View.create({ 
     templateName: 'footer' 
    }), 
    contentView: Ember.View.create({ 
     templateName: 'content' 
    }) 
}); 

Ember.View.create({ 
    controllerBinding: 'App.viewController', 
    templateName: 'main' 
}).append(); 

Ember.run.later(function(){ 
    App.viewController.set('contentView', Ember.View.create({ 
     templateName: 'new-content' 
    })); 
}, 1000); 

+0

をすることができますOUTL et contentViewは別の店舗で構成されますか?たとえば、ContentView1:{{コンセント左}} {{アウトレット右}}とContentView2:{{アウトレットリスト}} {{アウトレットの詳細}}の異なるセクション(または状態)の異なるコンテンツビュー。 – jrabary

+0

更新されたAPIドキュメントも役立ちますhttp://emberjs.com/api/classes/Ember.Handlebars.helpers.html#method_outlet – mspisars

関連する問題