ext js 有条件地将侦听器应用于 componenet
ext js apply listener to componenet conditionally
我得到了一个EXT JS应用程序,其中包含一个函数内部的datefield
(该函数还呈现其他组件(。目前,该函数被调用两次以创建(从功能角度(两个相同的datefield
组件。两个日期字段组件的区别在于 ID 和名称不同,因为它们的命名取决于传递给函数的参数。
我想为两个datefield
组件提供略有不同的行为,而无需创建两个不同的datefield
组件。我想知道是否只有在满足某些条件的情况下才能将侦听器应用于组件?
例如:
if(some condition is true){
select: function(datefield, date){
//code
}
}
或者我是否必须为两个组件提供所有侦听器,但在内部执行条件,以便如果不满足条件,则永远不会为该组件触发该事件。
例如:
select: function(datefield, date){
if(some condition is true){
//code
}
else{
//Do nothing as this component doesn't need this listener.
}
}
我相当确定第二种方法会起作用,但我不确定这是一个好主意。第一种方式似乎稍微干净一些;我不确定它看起来太好了,周围躺着空荡荡的尸体。
您可以使用
日期字段的on
方法。
if(some condition){
datefield.on('select', function(field,value){
// code for your select here.
});
}
我认为这应该满足您的需求。
我已经在其他组件上做了类似的实现,基本上是这样的:
var yourComponent = Ext.create('...',{});
if (something is true){
yourComponent.on('select', this._doStuff, yourComponent);
}
//
_doStuff: function(component){
//do stuff
}
希望这有帮助。
相关文章:
- 事件侦听器,用于完全关闭后重新启动的应用程序
- 注册用于捕获阶段的事件侦听器在冒泡之前未触发 - 为什么
- e.preventDefault()和e.cancelBubble不适用于附加的侦听器
- CollectionFS中是否存在用于文件下载的事件侦听器/回调
- 用于在页面上加载图像的 JavaScript 事件侦听器
- Ext.apply 不适用于 ExtJS 中的侦听器
- 用于语法和内部错误的 JavaScript 事件侦听器
- 在角度 api 中$watch返回一个取消注册函数,用于此侦听器取消注册的含义是什么
- 事件侦听器不适用于 Ustream API
- 何时应使用一个事件侦听器,何时应使用多个事件侦听器
- 用于 SVG 转换的 Javascript 事件侦听器
- ext js 有条件地将侦听器应用于 componenet
- 为什么其中一个侦听器适用于媒体 API 事件,而另一个则不适用于媒体 API 事件
- 在 VideoJS 中添加事件侦听器,用于在运行时获取视频持续时间
- 为什么我的“点击”事件侦听器不适用于我的删除按钮
- jQuery事件侦听器,用于插入特定于元素的类
- 侦听器不适用于动态添加的单选按钮
- Jquery侦听器,用于更改元素id
- 事件侦听器,用于在HTML内容不为空时执行函数
- jQuery 事件侦听器,用于包含动态内容的完全加载的 DOM