SAPUI5: компиляция декларативного HTML не работает

Я видел этот код sinppet в SAP documantion:

https://help.sap.com/saphelp_nw74/helpdata/en/91/f1454b6f4d1014b6dd926db0e91070/content.htm

Я попытался использовать его в этом простом примере ниже.

что я получаю это сообщение об ошибке в консоли:

Uncought TypeError: sap.пользовательский интерфейс.ядро.плагин.DeclarativeSupport.compile не является функцией

как решить эту проблему?

<!Doctype HTML>
<html>  
<title>Declarative Programming for SAPUI5 - sample01</title>
    <script id='sap-ui-bootstrap'
    type='text/javascript'
    src='https://sapui5.hana.ondemand.com/resources/sap-ui-core.js'
    data-sap-ui-libs="sap.ui.commons"
    data-sap-ui-modules='sap.ui.core.plugin.DeclarativeSupport'
    >
    </script>

<script>
function addButton(){
    console.log('addButton');
 $("body").append('<div id="button"><div data-sap-ui-type="sap.ui.commons.Button" data-text="This button is added dynamically"></div></div>');
 sap.ui.core.plugin.DeclarativeSupport.compile(document.getElementById("button"));
}
setTimeout(addButton,10);
</script>
</head>
</html>

1 ответ

  1. Должен работать таким образом:

    <!Doctype HTML>
    <html>  
    <title>Declarative Programming for SAPUI5 - sample01</title>
      <script id="sap-ui-bootstrap"
              src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
              data-sap-ui-theme="sap_bluecrystal"
              data-sap-ui-libs="sap.ui.commons"
              data-sap-ui-modules="sap.ui.core.plugin.DeclarativeSupport">
      </script>
    <script>
      sap.ui.getCore().attachInit(function () {
        $("body").append('<div id="button"><div data-sap-ui-type="sap.ui.commons.Button" data-text="This button is added dynamically"></div></div>');
        sap.ui.core.DeclarativeSupport.compile(document.getElementById("button"));
      });
    </script>
    </head>
    </html>
    

    Живой пример: https://jsbin.com/gegubuzuni/1/edit?html, выход