Sapui5 模型数据更改后,模型何时更新?

Sapui5 模型数据更改后,模型何时更新?,sapui5,Sapui5,openui5中有一个名为updateBindings(true?)的方法。但我不确定什么时候我必须调用它。有时,将修改后的数据设置为模型会导致视图更改,这表明基础模型数据实际发生了更改。有时它不起作用 第一个示例演示了在没有updateBindings(true)的情况下不会更改模型。 第二个例子来自第一个例子。但是,即使没有UpdateBinding,模型也会得到更新(true)。 那么,这两个例子之间的区别是什么?我什么时候需要在模型上调用updateBindings(true)以便更

openui5中有一个名为updateBindings(true?)的方法。但我不确定什么时候我必须调用它。有时,将修改后的数据设置为模型会导致视图更改,这表明基础模型数据实际发生了更改。有时它不起作用

第一个示例演示了在没有updateBindings(true)的情况下不会更改模型。

第二个例子来自第一个例子。但是,即使没有UpdateBinding,模型也会得到更新(true)。


那么,这两个例子之间的区别是什么?我什么时候需要在模型上调用updateBindings(true)以便更新它?如果在格式化程序函数中添加控制台打印,传递给updateBindings()的参数true的目的是什么

formatter : function(books) {
    console.log("go!!!");  
    return books[0];
}
您可以看到,在第一个示例中,函数没有执行。 这是因为,如果您更改了叶属性,则W视图中的链接组件(使用数据绑定)仅当它精确绑定了叶属性时才会接收更改事件

附言。 而是使用
getData

var data = oModel.getData();
data.books[0] = "my book";
oModel.setData(data);
您可以使用
getProperty

var data = oModel.getProperty("/"); 
data.books[0] = "my book";
//oModel.setProperty("/", data);   
在此模式下,不需要最后一行