我一直在阅读the marionette docs,而我似乎无法弄明白何时使用marionette.behavior
。
因为,根据我的理解,这与扩展已经具有相同结果操作的另一个视图相同。
那么我错过了什么可以解释使用marionette.behavior
?
答案 0 :(得分:4)
它不完全相同。
行为就像混合一样。它应该有一个非常具体的责任,例如:工具提示,警报或类似的东西。
当然,您可以通过扩展具有相同功能的视图来实现,但如果您需要实现几个不同的逻辑,例如您需要弹出,警报和标签功能 - 您将必须使用extend构建链。
正如您所理解的那样,它更难阅读,维护并且您可能会失去性能。使用行为可以一次实现少量逻辑:
var MyView = Marionette.ItemView.extend({
ui: {
"close": ".close-btn"
},
behaviors: {
CloseWarn: {
message: "you are closing all your data is now gone!"
},
ToolTip: {
text: "what a nice mouse you have"
}
}
});
此代码更清晰,更易读。
因此,使用行为期望它们作为非常指定函数的混合。尽可能小。不要让他们“知道多少”。