setProperty()在JSONModel上没有触发属性更改事件

时间:2017-09-19 23:17:58

标签: sapui5

我有一个我在控制器中使用的模型,并在该模型上设置模型更改和属性更改事件函数,如下所示:

handleDataChanged

我已将模型绑定到表中,一切正常......如果我更新属性,则会触发相关的模型更改和属性更改事件。

如果我使用类似下面的内容来更新属性,则只会触发handlePropertyChanged事件函数,而不会触发oModel.setProperty("Products/0/ProductName", "SomeNewValue"); 事件函数:

{{1}}

知道为什么吗?我的 PropertyBinding 是否正确?

1 个答案:

答案 0 :(得分:0)

SAPUI5文档提供了一个reason参数,用于描述属性值更改的原因。当您使用某些控件(例如您的表中的表)使用双向绑定更新模型时,将触发propertyChange事件,原因为sap.ui.model.ChangeReason.Binding。该文档还说,当事件绑定的值发生双向更改时,事件才会被触发。因此,直接设置模型属性不会触发事件。

您可以查看活动> propertyChange在API Reference for sap.ui.model.Model