UI5开发人员指南中的applicationbase是什么?

时间:2014-03-05 04:21:35

标签: sapui5

我正在关注UI5 developer guide,尝试构建我的第一个ui5移动应用程序。 但是当我尝试测试我的简单应用时,会出现一些错误:

  

未捕获错误:无法从Application.js加载“Application.js”:错误:无法从ApplicationBase.js加载“ApplicationBase.js”:404 - 未找到

我回去检查我的代码。是的,没有创建ApplicationBase.js。开发人员指南只说创建application.js,但没有关于applicationbase.js。这个档案是什么? 我该如何实施呢?

我认为指南不完整,我只是按照指南开始构建我的应用程序。

----------------------------------------------- -----------------------------------------

修改代码:

这是bootstrap javascript标签:

<script type="text/javascript">
    // Tell UI5 where to find application content
    sap.ui.localResources("util"); // paths starting with "util" will be resolved relative to the index.html location
    sap.ui.localResources("view");

    jQuery.sap.registerModulePath('ApplicationBase', 'ApplicationBase');
    jQuery.sap.registerModulePath('Application', 'Application');

    // Launch application 
    jQuery.sap.require("Application");
    var oApp = new Application({
        root: "content"
    });
</script>

这是我的application.js:

jQuery.sap.declare("Application");
jQuery.sap.require("ApplicationBase");


ApplicationBase.extend("Application", 
{ init : function() { // set global models
            var model = new sap.ui.model.json.JSONModel("model/data.json"); 
            var imgModel = new sap.ui.model.json.JSONModel("model/img.json"); 
            sap.ui.getCore().setModel(model); 
            sap.ui.getCore().setModel(imgModel, "img"); 
        }, 
main : function() { 
            // create app view and put to html root element 
            var root = this.getRoot(); 
            sap.ui.jsview("app", "view.App").placeAt(root); 
        }
});

我没有applicationbase.js。开发人员指南未提及有关此文件的任何内容。

1 个答案:

答案 0 :(得分:2)

在我在另一个教程中找到this之后,我遇到了同样的问题并解决了它:

jQuery.sap.declare("Application");
jQuery.sap.require("sap.ui.app.Application");

sap.ui.app.Application.extend("Application", {

    init : function() {
            // Do init stuff
    },

    main : function() {

         // create app view and put to html root element 
        var root = this.getRoot(); 
        sap.ui.jsview("app", "view.App").placeAt(root); 

    }
});

我认为文档中对 ApplicationBase 的含义更像是您之前创建的抽象应用程序(构造函数)。如果您没有自己想要扩展的应用程序,可以扩展 sap.ui.app.Application

也许这对你有帮助。如果您有更多问题,请告诉我。

可以找到完整的概述,甚至更多here