Javascript 删除视图并再次单击打开它,就像它是新的一样-SAPUI5

Javascript 删除视图并再次单击打开它,就像它是新的一样-SAPUI5,javascript,jquery,node.js,model-view-controller,sapui5,Javascript,Jquery,Node.js,Model View Controller,Sapui5,我有一个多视图设置,一个主视图,然后是在某些操作后单击按钮打开的模块 现在,每当视图打开时,我都会重置它,但我想要完成的是,当视图离开核心时,它会从核心中消失,并再次启动,就像它是第一次打开一样 我不确定怎么做,我尝试了多种方法,但都没有达到我的预期效果(.destroy(),.removeAllContent(),…) 我是否错过了某个功能,或者是否有办法实现该功能 一些代码: index.js(视图如何第一次实例化,而不是第二次调用) 控制器(视图和index.js的调用方式) 控制器(回调

我有一个多视图设置,一个主视图,然后是在某些操作后单击按钮打开的模块

现在,每当视图打开时,我都会重置它,但我想要完成的是,当视图离开核心时,它会从核心中消失,并再次启动,就像它是第一次打开一样

我不确定怎么做,我尝试了多种方法,但都没有达到我的预期效果(
.destroy()
.removeAllContent()
,…)

我是否错过了某个功能,或者是否有办法实现该功能

一些代码:

index.js(视图如何第一次实例化,而不是第二次调用)

控制器(视图和index.js的调用方式)

控制器(回调函数)

第二个视图(如何关闭)


您提到,由于公司限制,您无法使用路由器机制--我真的很想知道这些限制是什么;-)--并切换相应视图的
可见性
属性

在这种情况下,我将在您将视图的可见性设置为visible的方法中触发OData服务,并(重新)将ODataModel绑定到该视图


从性能角度来看,我不建议破坏核心视图

请添加代码,这样我可以有效地帮助您。我很好奇,因为
.destroy()
肯定应该销毁并删除核心视图。这是真的,但当我再次单击按钮打开视图时,它会删除它。什么都没发生,景色也没出现。耶。。。如何再次实例化视图。。。就像我说的,一些代码会让我的生活更轻松。你是否在下一次视图被破坏后调用ajax来呈现它?这可能是一个解决方案。不,但您永远不应该通过切换可见性来显示视图。使用路由器,因为限制来自框架的奇怪设置。他们想使用事件总线而不是路由。复杂而怪异。这是一家很老的公司,很有进步,但很好^^
module.exports.Partner = function(place) {
    View = require('./app/js/suche.view');
    Bearbeiten = require('./app/js/bearbeiten.view');
    var ctrl = View.getController();
    ctrl.setPlace(ctrl, place);
    ctrl.setEditPlace(ctrl, place);
    ctrl.setCreatePlace(ctrl, place);
    sap.ui.getCore().byId('suche').placeAt(place);
    sap.ui.getCore().byId('suche').byId('searchBtn').attachPress(ctrl.nummerSearch, ctrl);
};
handlePartnerSuche : function(){
        this.hideView(); //this is the main view
        var p = require('bit-js-business-partner');
        var partner_view = p.Partner('content');
        p.setCallbackForSchliessen(this, this.callbackForSchliessen);
  },
callbackForSchliessen: function(){
        this.showView();
    },
handleSchliessen : function () {
        var p = this.getView('suche');
        p.setVisible(false);

        this.callbackMethodSchliessen.call(this.callbackCtrlSchliessen);
    },