我在 Backbone.js Marionette 项目中使用 Backbone.ModelBinder。我有一个场景,我无法弄清楚如何使用 ModelBinder 自动更新我的模型/UI。
我的模型有一个“状态”字符串属性,有多个状态。在这个例子中,我将展示两个的代码:'soon','someday'
在我的 UI 中,我有一个列表,我使用点击事件来设置模型状态,并更新类以突出显示 UI 中的相关链接。
<dd id="status-soon"><a>Soon</a></dd>
<dd id="status-someday" class="active"><a>Someday</a></dd>
events: {
'click #status-soon': 'setStatusSoon',
'click #status-someday': 'setStatusSomeday'
},
setStatusSoon: function () {
this.model.set('status', 'soon');
this.$el.find('.status dd').removeClass('active');
this.$el.find('#status-soon').addClass('active');
},
... etc
感觉就像我这样做是一种冗长而笨拙的方式!代码膨胀会随着我需要支持的状态数量的增加而增加。使用 ModelBinder 实现相同结果的最佳方法是什么?