【问题标题】:How to get html of a SAP UI5 control如何获取 SAP UI5 控件的 html
【发布时间】:2018-04-15 12:34:35
【问题描述】:

一般在使用SAP UI5时,我们使用如下代码

this.appContent.placeAt('content');

这将呈现内容元素。

但我只想要appContent UI5控件的html而不渲染它。该怎么做?

我想这样做的原因是因为我想使用 sap.ui.template 来构建一个轮播,我想添加获取 UI5 控件的原始 HTML 并将其作为字符串添加到模板而不是直接渲染它.

【问题讨论】:

  • 您是在尝试获取控件的 HTML 元素而不预先或在渲染后渲染它吗?
  • 是的,我希望能够在不渲染的情况下获取 HTML 元素

标签: sapui5


【解决方案1】:

假设this.appContent是一个控件,那么在控件渲染完成后调用

var $domRef = this.appContent.$():

getDomRef()(可见性受到保护!)

var domRef = this.appContent.getDomRef():

注意何时在控件被渲染之后调用它,例如:

this.appContent.addEventDelegate({

    onAfterRendering : function(oEvent){
        var $domRef = oEvent.srcControl.$();
        // now do something
    }
});
this.appContent.placeAt('content');

但是,我会尽量避免使用 placeAt。

【讨论】:

  • 感谢您的评论,是否可以在不渲染的情况下获取 HTML?我不想拥有 HTML DOM 元素。
  • 不,至少没有丑陋的把戏。请记住,html 会随时间而变化,因此如果需要,您必须考虑获取最新的 html。您的确切用例是什么?您介意通过添加回答问题所需的所有详细信息来更新您的问题吗?
  • 再次感谢您,我编辑了问题,如果有什么不清楚的地方请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多