8

Ember.js について知ったばかりで、面白そうです。使い方を学ぶために小さなメモアプリを作成したいと思います。

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

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

4

2 に答える 2

9

@rharperが言及したアプローチに加えて、コミット5a4917boutletで導入されたヘルパーを使用することもできます。

ここに例があります:

ハンドルバー

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

JavaScript

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);

</ p>

于 2012-05-29T18:22:51.593 に答える
1

シンプルなラッパー スタイルのレイアウトには、Ember の組み込みのレイアウト サポートを使用できます。1 つしかサポートしていない{{yield}}ため、アプリケーションが制限されすぎている可能性があります。

もう少し堅牢なものについては、ghempton のEmber Layoutをご覧ください。Rails のレイアウトとよく似ていることがわかると思います。彼はここに実例を持っています。

最後に、(レイアウトを使用する代わりに、またはレイアウトを使用することに加えて) Ember でビューの階層を作成するのは非常に簡単です。Tom Dale は、Ember の優れたリソースと例をここに集めています。

于 2012-05-29T16:37:01.007 に答える