我有一个我在控制器中使用的模型,并在该模型上设置模型更改和属性更改事件函数,如下所示:
handleDataChanged
我已将模型绑定到表中,一切正常......如果我更新属性,则会触发相关的模型更改和属性更改事件。
如果我使用类似下面的内容来更新属性,则只会触发handlePropertyChanged
事件函数,而不会触发oModel.setProperty("Products/0/ProductName", "SomeNewValue");
事件函数:
{{1}}
知道为什么吗?我的 PropertyBinding 是否正确?
答案 0 :(得分:0)
SAPUI5文档提供了一个reason参数,用于描述属性值更改的原因。当您使用某些控件(例如您的表中的表)使用双向绑定更新模型时,将触发propertyChange事件,原因为sap.ui.model.ChangeReason.Binding。该文档还说,当事件绑定的值发生双向更改时,事件才会被触发。因此,直接设置模型属性不会触发事件。
您可以查看活动> propertyChange在API Reference for sap.ui.model.Model