2

私のアプリケーションには、LoginController と RsvpController の 2 つのコントローラーがあります。現在のログインに関連する Rsvps のリストをロードしたいと考えています。

私のログイン コードは機能しているようですが、次の警告を回避するのに問題があります。

また、私は ember の方法で物事を行っていないと思うので、このコードを改善してより多くの ember 機能を使用する方法についてコメントをいただければ幸いです。

コントローラーは次のとおりです。

App.RsvpController = Ember.ArrayController.extend({
    needs: ['login'],   // borrows from login controller
    content: [],

    loadModel : function() {
        var theCode = this.controllerFor('login').get('code');
        console.log("Loading Model for code " + theCode);

        var rsvpArray = App.Rsvp.find({
            code : theCode
        });
        this.set('content', rsvpArray);

        rsvpArray.addObserver('isLoaded', function() {
            console.log("Loaded rsvpArray" + Em.inspect(this));
        });


    }.property('controllers.login.code'),       // reload model if the user changes login
});

以下は index.html の一部です。

<script type="text/x-handlebars" id="rsvp">
    <p>placeholder for <b>RSVP</b></p>

    {{#if controllers.login.name }}
        <!-- rsvp code here -->
        Logged in with code {{controllers.login.code}}

        {{ loadModel }} <!-- call loadModel function to populate model when this is rendered -->

        {{#each model}}
            <p>givenName {{givenname}}</p>
        {{/each}}

    {{else}}
        <i>Please login first!</i>
    {{/if}}

</script>
4

1 に答える 1