SAPUI5:如何在控制器中使用外部库?

时间:2017-09-28 08:16:28

标签: sapui5

在我的index.html文件中,我有以下代码:

<script>
        sap.ui.getCore().attachInit(function() {
            jQuery.sap.registerModulePath("lodash","https://cdn.jsdelivr.net/npm/lodash@4.17.4/lodash.min");
        jQuery.sap.require("lodash");

        new sap.m.Shell({
            app: new sap.ui.core.ComponentContainer({
                height : "100%",
                name : "sap.com.ml.docservicedoc-service-m-learning"
            })
        }).placeAt("content");
    });

我现在如何在我的一个控制器(不是视图)中使用lodash?我试过了:

sap.ui.define([
"sap/ui/core/mvc/Controller",
"lodash"], function(Controller, _) {

不幸的是“_”始终未定义。

1 个答案:

答案 0 :(得分:3)

找出解决方案:

  1. 在项目中创建libs文件夹并将库放入该文件夹
  2. 在控制器内添加库,如下所示。还要记住,define函数中的值应该与库的全局名称不同:

    sap.ui.define([ "sap/ui/core/mvc/Controller", "<project namespace>/libs/lodash/lodash.min", ], function(Controller, lodash) {

  3. 使用库的全局根变量。如果是lodash,那就是&#34; _&#34;