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