假设我有一个基本模板 - 我们称它为“shell”,它为我提供了 3 个 div(顶部、左侧、主)。在我的顶部 div 中,我添加了一个导航栏视图。导航栏视图有一个“登录”链接,我想在用户登录时将其更改为“注销”。这最好用模板中的逻辑完成,还是建议改为制作这些单独的视图和如果是这样,我最好在哪里处理显示逻辑?我很确定这是我需要做这种事情的唯一实例。谢谢你的帮助。
问问题
1364 次
1 回答
1
一个半打中的六个。即使您将逻辑放在模板中,该模板仍然需要您向它传递一个标志,指示它是处于“登录”还是“注销”模式,以及该标志必须来自哪里(如果你在做标准的骨干)?一个看法。
所以真的你的问题让我觉得本质上是在以下之间进行选择:
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 回答