Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 如何调用使用sap.ui.require语句的对象_Sapui5 - Fatal编程技术网

Sapui5 如何调用使用sap.ui.require语句的对象

Sapui5 如何调用使用sap.ui.require语句的对象,sapui5,Sapui5,我查看了上一个openui5文档,发现有一种创建类的“新方法” 现在,使用sap.ui.define,我们可以按如下方式创建类- sap.ui.define(['jquery.sap.global', 'sap/ui/base/Object'], function(jQuery, Object) { "use strict"; var foo = Object.extend("Foo", { metadata : { pr

我查看了上一个openui5文档,发现有一种创建类的“新方法”

现在,使用sap.ui.define,我们可以按如下方式创建类-

sap.ui.define(['jquery.sap.global', 'sap/ui/base/Object'],
    function(jQuery, Object) {
        "use strict";

    var foo = Object.extend("Foo", {
        metadata : {
            properties : {}
        }
    });

    foo.prototype.someFunction = function(){};

    return foo;
},true);
问题是,我不知道如何从控制器调用此类类。我想在控件中使用AMD语法,但我没有找到任何示例-

(function() {
    'use strict';

        sap.ui.controller('settings.mvc.controller.App', {

            onInit: function() {
                 //Foo is always undefined
            },
        });

})();

我想您要找的是
sap.ui.require()
: (注意与jQuery.sap.require()的区别。!)

此功能是新功能,在当前的稳定版1.26中尚未提供,但一旦下一个beta预览版发布(或当您自己构建UI5时),您可以编写如下内容:

sap.ui.require(['Foo'],函数(Foo){
Foo.someFunction();
});

这是sap.ui.define()的对称对应项,并且异步工作,所以我想这就是您要寻找的

(我假设您的问题是从不同的文件加载Foo,因为当在一个文件中写入时,它已经定义为:
)

是的,问题是我想避免使用这种句子,并使用sap.ui.define([dependencies],[function(dependencies){//control definition})以AMD的方式使用它。我认为这是AMD的方式,除非我遗漏了什么。您可以使用sap.ui定义模块。使用jQuery.sap.requireGotta定义和加载模块。我喜欢UI5是如何以如此快的速度不断发展的!是的,这就是我说的。问题是,我不确定如何使用sap.ui.require创建控制器。你认为有可能做到吗?