gpt4 book ai didi

javascript - extjs 有条件地将监听器应用于组件

转载 作者:行者123 更新时间:2023-11-29 21:53:49 25 4
gpt4 key购买 nike

我得到了一个 EXT JS 应用程序,它包含一个位于函数内部的 datefield(该函数还呈现其他组件)。目前该函数被调用两次以创建(从功能的 Angular 来看)两个相同的 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.
}
}

我相当确定第二种方法可行,但我不确定这是个好主意。第一种方式看起来稍微干净一些;我不确定让空的 else 尸体躺在周围看起来会不会太好。

最佳答案

您可以使用日期字段的 on 方法。

if(some condition){
datefield.on('select', function(field,value){
// code for your select here.
});
}

我认为这应该可以满足您的需求。

关于javascript - extjs 有条件地将监听器应用于组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27551607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com