我有一个基于ExtJS的现有应用程序。我们有多个视图的按钮。我们有一个更改请求,无论何时单击一个按钮,都应该在实际逻辑触发之前调用某个函数。此功能调用适用于所有按钮点击事件 我们如何在ExtJS中处理这种情况?
答案 0 :(得分:1)
什么阻止你添加总是为每个侦听器调用的函数。
click: function(btn) {
functionThatAlwaysRuns();
// rest of your button specific logic here
}
这听起来像代码,您可以通过将所有按钮绑定到控制器中的公共侦听器,并使用策略模式来确定在通用函数之后运行哪个特定逻辑来显着清理代码。这里可以找到战略模式的一个很好的例子:http://encosia.com/first-class-functions-as-an-alternative-to-javascripts-switch-statement/