0

ベース テンプレートがあるとします。3 つの div (上、左、メイン) を提供する「シェル」としましょう。トップ div にナビゲーション バー ビューを追加しています。ナビゲーション バー ビューには、ユーザーがログインしているときに「ログアウト」に変更したい「ログイン」リンクがあります。もしそうなら、表示ロジックをどこで処理するのが最適ですか? この種のことを行う必要があるのは、これが唯一の例であると確信しています。助けてくれてありがとう。

4

1 に答える 1

1

他の 1.5 ダースのうちの 6 つ。テンプレートにロジックを入れたとしても、そのテンプレートは、「ログイン」モードか「ログアウト」モードかを示すフラグを渡す必要があります。また、そのフラグはどこから取得する必要があるか (あなたは標準のバックボーンをやっていますか?ビュー。

だから本当にあなたの質問は、本質的に次のようなものの選択であると私に思います:

var MyView = Backbone.View.extend({
    template: compile('Logged {{if loggedIn}}In{{else}}Out{{/if}}'),
    render: function() {
        this.$el.html(this.template(this.loggedIn);
    }
});

また:

var MyView = Backbone.View.extend({
    template: compile('Logged '),
    render: function() {
        this.$el.html(this.template() + (this.loggedIn ? 'In' : 'Out'));
    }
});

あなたのコメントに基づいて:

この種のことを行う必要があるのは、これが唯一の例であると確信しています。

テンプレート ロジックを気にしないことをお勧めします。しかし、最終的には間違った答えはありません。

于 2013-01-03T17:54:46.160 に答える