0

ここhttp://trek.github.com/のチュートリアルに従っていて、ブロックされたポイントにいます。

index.htmlのEmberコード:

<script type="text/x-handlebars" data-template-name="application">
<h2>Ember Committers:</h2>
{{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="contributors">
{{#each person in controller}}
    {{person.login}}
{{/each}}
</script>

app.jsのEmberコード:

App = Ember.Application.create();

// Application default controller and view
App. ApplicationController = Ember.Controller.extend();
App.ApplicationView= Ember.View.extend( {
    templateName: 'application'
});

// Contributors controller and view...
App. AllContributorsController = Ember.ArrayController.extend();
App.AllContributorsView= Ember.View.extend( {
    templateName: 'contributors'
});

App.Router = Ember.Router.extend({
    root: Ember.Route.extend({
        index: Ember.Route.extend({
            route: '/',
            connectOutlets: function(router) {
                // Here we connect the allContributers data & template to the outlet in the application template.
                router.get('applicationController').connectOutlet('allContributors', [{login:'wycats'},{login: 'tomdale'}]);
            }
        })
    })      
});

この時点で実行すると、「Ember Committers:」というテキストと、connectOutlet()で指定された2つのログイン名が表示されるはずです。

ログインではなくヘッダーテキストのみが表示され、エラーは発生しません。

何か案は?

4

1 に答える 1

0

emberjs.comガイドページhttp://emberjs.com/guides/routing/defining-your-routes/でルートを実行した場合にのみ、成功しました。

あなたは経由してあなたのルートを定義するでしょう

App.Router.map(function(){
    this.route('contributors');
});

この時点で、デフォルトで#/ contributorsに移動すると、contributorsテンプレートが {{outlet}} (ビュー宣言は不要)に配置されます。

コンセントを変更する必要がある場合は、貢献者用にコンセントを作成することで、ルート内でそれを行います(ルーターではありません!混乱すると1日かかります)。

App.ContributorsRoute = Ember.Route.extend({
    connectOutlets: ...
});
于 2013-02-06T17:37:57.557 に答える