Data binding UI5中单向绑定和一次性绑定的区别

Data binding UI5中单向绑定和一次性绑定的区别,data-binding,sapui5,Data Binding,Sapui5,UI5中一次性绑定和单向绑定的区别是什么 是否有任何特定于用户的用例,我将使用它们中的每一个? 我无法从文档中获得太多信息。 单向的 它的作用:单向数据流。模型数据中的更改(例如,通过setProperty)稳定地传播到UI中感兴趣的元素 用例:一个突出的例子是(单向JSONModel)。它不应该接受任何可能意外更新设备信息的用户输入。 我们必须将绑定模式设置为单向,因为设备模型是只读的,并且我们希望在将控件的属性绑定到它时避免意外更改模型。默认情况下,OpenUI5中的模型是双向的(TwoW

UI5中一次性绑定和单向绑定的区别是什么

是否有任何特定于用户的用例,我将使用它们中的每一个? 我无法从文档中获得太多信息。

单向的
  • 它的作用:单向数据流。模型数据中的更改(例如,通过
    setProperty
    )稳定地传播到UI中感兴趣的元素
  • 用例:一个突出的例子是(单向JSONModel)。它不应该接受任何可能意外更新设备信息的用户输入。 我们必须将绑定模式设置为单向,因为设备模型是只读的,并且我们希望在将控件的属性绑定到它时避免意外更改模型。默认情况下,OpenUI5中的模型是双向的(
    TwoWay
    )。当特性更改时,绑定模型值也会更新

一次
  • 它的作用:一次性数据流。当对绑定对象求值时,它对应的模型数据将被读取并写入元素属性一次,而不会再次读取和写入
  • 它存在的原因:这一切都取决于更改侦听器的数量。更少的侦听器意味着更少的内存分配和运行时需要维护的内容。因此,与其他绑定模式相比,一次性绑定模式具有优化性能和内存消耗的潜力
  • 何时使用:用于静态、非突变数据。
    注意:对于属性绑定,也可以为静态值定义,而不是依赖于属性绑定中的模型
  • 用例:这里最突出的例子是。根据其API参考: 此型号是只读的,因此只支持一次绑定模式。没有触发任何事件

有关更多信息,请参阅


在UI5中分配绑定模式
  • 特定于绑定:

  • 对于模型的所有绑定:

    myModel.setDefaultBindingMode(“一次性”);
    
    或者如果是
    ODataModel

    {
    “sap.ui5”:{
    “模型”:{
    “myODataModel”:{
    “数据源”:“…”,
    “设置”:{
    “defaultBindingMode”:“双向”
    },
    “预加载”:真
    }
    }
    }
    }
  • 在中,可以使用以下语法定义绑定模式:

    • myProperty=“{=…}”
      ⇒ 从前
    • myProperty=“{=…}”
      ⇒ 单向
  • 绑定信息(例如
    )中的自定义
    格式化程序
    )以及使用字符串文本的组合(例如
    “我的名字是{/Name}”
    )强制绑定成为单向。使用