声明性支持问题

时间:2013-12-30 08:53:57

标签: sapui5

我正在尝试将一个htmlview(根据SAP的文档使用声明性支持)添加到也使用声明性支持的索引页面。使用data-sap-ui-type =“ui.MyView”让我提出两个问题:

  • 声明支持中是否有与sap.ui.localResources等效的内容?
  • data-ui-type没有将view.html后缀添加到应该加盖的视图中。在声明性支持中是否存在MVC的特殊模式,或者目前无法实现它?

亲切的问候, 尼科

1 个答案:

答案 0 :(得分:1)

在这里找到一些基本样本: https://openui5.hana.ondemand.com/#docs/guide/MVC.html

首先,我相信您必须在代码中设置sap.ui.localResources

正如您所见,从HTMLView实现HTMLView的实现如下:

<div data-sap-ui-type="sap.ui.core.mvc.HTMLView" id="MyHTMLView" data-view-name="example.mvc.test2"></div>

这将加载example.mvc.test2.view.html并将其放入您的父视图。

一般来说,JS API会转换为HTMLView,如下所示:

new sap.ui.AnyControl("myId", {
  aLittleProperty: "10",
  property: false,

  press: functionInMyController,
  morePress: a.static.myFunction,

  defaultAggregation: [ 
     new sap.ui.OtherControl("otherId1"),
     new sap.ui.OtherControl("otherId2")
  ],
  anotherAggregation: new sap.ui.OtherControl("otherId3")
}).addStyleClass("myClass");

<div data-sap-ui-type="sap.ui.AnyControl" 
     id="myId" 
     class="myClass"

     data-a-little-property="10",
     data-property="false"

     data-press="functionInMyController"
     data-more-press="a.static.myFunction">

     <div data-sap-ui-type="sap.ui.OtherControl" id="otherId1"></div>
     <div data-sap-ui-type="sap.ui.OtherControl" id="otherId2"></div>

     <div data-sap-ui-aggregation="anotherAggregation">
         <div data-sap-ui-type="sap.ui.OtherControl" id="otherId3"></div>
     </div>

</div>

请注意:

  • 使用常规HTML属性设置id和CSS类
  • 属性名称从camelCase转换为以“ - ”分隔的小写(由于HTML不区分大小写)
  • 无论属性是什么类型,您当然必须将其放在HTML中的引号
  • 无论你直接置于HTML定义的控件中,都被视为属于它的默认聚合

BR 克里斯