我们可以将ManagedObject绑定到View吗?

时间:2017-01-07 04:09:03

标签: sapui5

我通过扩展ManagedObject

准备了一个对象

我将这些添加到控制器中视图的JSONModel中

var model = new JSONModel({
    data : someOne.getManagedObjects()
});

如何将这些绑定到视图?我试过这些

1:<List id="mainLayerList" selectionChange="onSelectionChange" mode = "MultiSelect" items="{/data}">

2:

<List id="mainLayerList"
                    selectionChange="onSelectionChange" 
                    mode = "MultiSelect"
                    items="{
                    path: '/data',
                    factory: '.dataListItemFactory'
                }">

未在视图中获取数据。

我们可以将ManagedObject绑定到视图吗?

1 个答案:

答案 0 :(得分:0)

您可以绑定到任何Javascript对象。但是您只能在绑定对象上使用属性和属性。所以你不能调用像getName()这样的函数。

ManagedObjects对您在元数据中声明的属性执行了哪些操作?它创建getXxx()setXxx()方法,并将数据 xxx 存储在私有对象中的某个位置。这就是为什么你不能绑定到{xxx},即使你已经在ManagedObject上声明了 xxx 属性。

作为一种解决方法,您可以在ManagedObject上为要绑定的所有属性创建getter propertiessetter properties

get xxx()  { return this.getXxx();} 
set xxx(value) { this.setXxx(value);}