自定义控件 UI5 的 JSONModel 的侦听器
Listener for the JSONModel for Custom Control UI5
我有一个自定义控件需要如下数据数组
properties : {
scrollheight: {type : "sap.ui.core.CSSSize", defaultValue : "100%"},
array1 :{type : "Array", defaultValue : []},
array2 : {type : "Array", defaultValue : []},
}
我有 3 个 JSONModel,我已将其设置为视图
问题是我需要处理这些模型,我必须制作 2 个数组来设置自定义控件。
当这些 JSONModel 发生任何变化时,我也需要更新数组。
如果我将这些绑定到 属性,我该如何实现?还是我需要监听模型的变化并更新数组?
或者他们还有其他方法吗?
有时很难使 JSONModel 中的数据与控制器保持一致,因为您始终必须记住,如果更改一件事,则还必须更改另一件事。
为了使控制器代码不那么混乱,我通常创建一个 JSONModel 的子类,在其中处理模型的一致性。这可以通过用您自己的方法覆盖 setProperty 方法来实现,当您看到某个 属性 被编辑时,相关属性也会立即更改。
请在下面的 jsbin 中找到一个示例,说明它是如何工作的。在示例中,我试图使 属性 2 与 属性 1:
保持一致
我通过获取绑定和附加更改事件解决了这个问题
我们必须获取模型中特定项目的绑定,如果它 属性 我们可以采用 PropertyBinding if its List or array we have to take ListBinding
然后我有一个模型设置为自定义控件,更改事件将更新自定义控件模型
JSBin 显示如何将更改事件添加到绑定(这里我使用了 ListBinding)
我有一个自定义控件需要如下数据数组
properties : {
scrollheight: {type : "sap.ui.core.CSSSize", defaultValue : "100%"},
array1 :{type : "Array", defaultValue : []},
array2 : {type : "Array", defaultValue : []},
}
我有 3 个 JSONModel,我已将其设置为视图
问题是我需要处理这些模型,我必须制作 2 个数组来设置自定义控件。
当这些 JSONModel 发生任何变化时,我也需要更新数组。
如果我将这些绑定到 属性,我该如何实现?还是我需要监听模型的变化并更新数组?
或者他们还有其他方法吗?
有时很难使 JSONModel 中的数据与控制器保持一致,因为您始终必须记住,如果更改一件事,则还必须更改另一件事。
为了使控制器代码不那么混乱,我通常创建一个 JSONModel 的子类,在其中处理模型的一致性。这可以通过用您自己的方法覆盖 setProperty 方法来实现,当您看到某个 属性 被编辑时,相关属性也会立即更改。
请在下面的 jsbin 中找到一个示例,说明它是如何工作的。在示例中,我试图使 属性 2 与 属性 1:
保持一致我通过获取绑定和附加更改事件解决了这个问题
我们必须获取模型中特定项目的绑定,如果它 属性 我们可以采用 PropertyBinding if its List or array we have to take ListBinding
然后我有一个模型设置为自定义控件,更改事件将更新自定义控件模型
JSBin 显示如何将更改事件添加到绑定(这里我使用了 ListBinding)