本文介绍了声明式支持问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

亲切的问候,妮可

解决方案

在这里找到一些基本示例: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 转换成 HTMLViews 是这样的:

new sap.ui.AnyControl("myId", {aLittleProperty: "10",属性:假,按:functionInMyController,morePress: a.static.myFunction,默认聚合:[新 sap.ui.OtherControl("otherId1"),新 sap.ui.OtherControl("otherId2")],anotherAggregation: new sap.ui.OtherControl("otherId3")}).addStyleClass("myClass");<div data-sap-ui-type="sap.ui.AnyControl"身份证=我的身份证"班级=我的班级"data-a-little-property="10",数据属性=假"数据新闻=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>

注意:

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

BR克里斯

I am trying to add an htmlview (which is using declarative support according to SAP's docs) to an index page that is also using declarative support. Using data-sap-ui-type="ui.MyView" makes me to ask two questions:

  • Is there any equivalent to sap.ui.localResources in declarative support?
  • data-ui-type is not adding the view.html suffix to the view that should be laoded. Is there a special pattern for MVC in declarative support or is there currently no way to implement it?

Kind regards,Nico

解决方案

find some basic samples here:https://openui5.hana.ondemand.com/#docs/guide/MVC.html

First of all I believe that you always have to set sap.ui.localResources in code.

As you can see instanciating a HTMLView from an HTMLView goes like this:

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

This will load example.mvc.test2.view.html and place it into your parent view.

Generally speaking the JS API translates into HTMLViews like this:

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>

Note that:

  • The id and CSS classes are set with the regular HTML attributes
  • Property names translate from camelCase to lower-case separated with "-" (due to the fact that HTML is not case-sensitive)
  • No matter what type the property is you of course have to put it in quotes in HTML
  • Whatever you put directly inside a HTML-defined control is considered to belong into it's default aggregation

BRChris

这篇关于声明式支持问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-22 15:21