变更事件 - 有没有办法区分用户变更和程序化变更?

时间:2015-07-21 11:28:17

标签: javascript extjs extjs5

只有当ViewController中的字段的值被用户更改,才会触发View事件时,我需要在change中执行一些代码。

问题是在控制器的某些地方,我使用this.getViewModel().set('name', 'value')也会触发change。在这些情况下,以编程方式更改值,我不想执行由事件触发的代码。 suspendEvents()不起作用,似乎there's a bug在很长一段时间内都没有得到修复。 (它说[固定]但人们仍然抱怨它不起作用。)

那么有没有办法检测这个更改是由我(以编程方式)还是由用户进行的?

我正在使用ExtJS 5.1。

2 个答案:

答案 0 :(得分:0)

您的视图可以触发自定义事件,该事件会将您的用户更改与程序化更改分开。

如果你能在Sencha Fiddle上提供一个简短的可运行的例子,那将更容易提供帮助。

答案 1 :(得分:0)

Field mixin中有一个私有属性,用于内部以避免触发> GK.WGS84 SpatialPoints: X_GK Y_GK [1,] 9.262686 48.83949 Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 事件。 它是一个数字标志,因此将其设置为1应该这样做。基于mixin,您可以执行以下操作:

change