首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >sapui5演练step19重用对象问题

sapui5演练step19重用对象问题
EN

Stack Overflow用户
提问于 2019-04-17 00:11:11
回答 1查看 0关注 0票数 0

根据文档,我构建了自己的对象,我想在对话框控制器nestedviewcontroller.controller.js中重用

代码语言:javascript
复制
    sap.ui.define([
   "sap/ui/core/mvc/Controller",
   "sap/m/MessageToast",
   "sap.ui.demo.walkthrough.controller.Dialog"
    ], function (Controller, MessageToast, Fragment,Dialog) {
   "use strict";
    return 
    Controller.extend("sap.ui.demo.walkthrough.controller.NestedController", 
    {

       ...,

          onOpenDialog : function () {
            // set dialog
            var oView = this.getView();
            var myDialog = new Dialog(oView);
            myDialog.open();

          },

          onCloseDialog : function () {
            this.byId("Dialog").close();
            }
       });
    });

错误消息:未捕获(在promise中)错误:无法从resources / sap.ui.demo.walkthrough.controller.Dialog.js加载sap.ui.demo.walkthrough.controller.Dialog.js:404 - 资源可能进入代码在这里找不到!

EN

Stack Overflow用户

发布于 2019-04-17 09:29:31

:未捕获的TypeError:对话框不是f.onOpenDialog的构造函数(NestedController.controller.js?eval:22)

代码语言:javascript
复制
sap.ui.define([
"sap/ui/base/ManagedObject",
    "sap/ui/core/Fragment"
], function (ManagedObject, Fragment) {
    "use strict";

    return ManagedObject.extend("sap.ui.demo.walkthrough.controller.Dialog", {

        constructor : function Dialog(oView) {
            this._oView = oView;
        },

        exit : function () {
            delete this._oView;
        },

        open : function () {
            var oView = this._oView;

            // create dialog lazily
            if (!oView.byId("Dialog")) {
                var oFragmentController = {
                    onCloseDialog : function () {
                        oView.byId("Dialog").close();
                    }
                };
                // load asynchronous XML fragment
                Fragment.load({
                    id: oView.getId(),
                    name: "sap.ui.demo.walkthrough.view.Dialog",
                    controller: oFragmentController
                }).then(function (oDialog) {
                    // connect dialog to the root view of this component (models, lifecycle)
                    oView.addDependent(oDialog);
                    oDialog.open();
                });
            } else {
                oView.byId("Dialog").open();
            }
        }

    });

});
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档