dojo的TabContainer中增加的ContentPane如果是closable,如何在关闭后不销毁ContentPane

主要思路是新建TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时,不调用该子容器的destroyRecursive方法。

define([ "dojo/_base/declare", "dijit/layout/TabContainer"

], function(declare,TabContainer) {

return declare("comm.comm.ExTabContainer", TabContainer, {

closeChildAction:"destroy",

closeChild: function(/*dijit/_WidgetBase*/ page){

// summary:

// Callback when user clicks the [X] to remove a page.

// If onClose() returns true then remove and destroy the child.

// tags:

// private

var remove = page.onClose && page.onClose(this, page);

if(remove){

this.removeChild(page);

if (this.closeChildAction=="destroy"){

// makes sure we can clean up executeScripts in ContentPane onUnLoad

page.destroyRecursive();

}

}

}

});

});

然后创建TabContainer的方法如下:

var tc=new ExTabContainer({

style : "height: 100%; width: 100%;",

isLayoutContainer : true,

region : ‘center‘,

closeChildAction:"hide"

});

时间: 2024-12-20 01:18:30

dojo的TabContainer中增加的ContentPane如果是closable,如何在关闭后不销毁ContentPane的相关文章

dojo的TabContainer添加ContentPane假设closable,怎么不闭幕后予以销毁ContentPane

其主要思想是新的TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时.不调用该子容器的destroyRecursive方法. define([ "dojo/_base/declare", "dijit/layout/TabContainer" ], function(declare,TabContainer) { return declare("comm.comm.ExTabContainer", TabCont

NSMutableDictionary 类中增加键值对方法分析

在iOS中可变字典增加一个键值对的方法有setObject: forKey: 和setValue : forKey: .为了方便我们把这两个方法简称为方法A和方法B. B这个方法中其中的value值是不能为nil,否则程序会出项崩溃.而A方法中的这个value可以为nil,但是当这个value位nil时,系统会自动调用removeObjectforKey:这个方法.这样就把这个键值对删除掉了.B方法中的key值可以是任意类型的,但是这个类型必须要实现NSCopying协议.而A方法中它的key值

[moka同学笔记]Yii2.0给一张表中增加一个属性

1.model中建立关联 public function getUser(){ return$this->hasOne(User::className(),['id'=>'uid']) ; } 2.在视图中 <?= GridView::widget([ 'dataProvider' => $dataProvider, 'columns' => [ // ['class' => 'yii\grid\SerialColumn'], 取消掉编号 ['attribute'=&g

.Net Web产品中增加自己的功能和代码?

背景: 最近有一个项目,一个朋友找了一个网上比较成熟的CMS系统(动易),让我给他增加一些功能,这个产品功能挺多,但是没有源代码.按照以前的做法,就是直接反编译他的dll,生成源代码,然后在源代码的基础上修改和完善自己的功能.但是研究了一下这个产品,bin下面的DLL非常多,有主要的,还有辅助的.如果每个dll都反编译,简直不现实. ? 用发编译工具?ILSpy打开里面几个主要的dll,发现还加壳混淆了,用De4Dot反混淆出来.里面的代码还是非常清晰,但是如果每个dll都这样搞,岂不累死. ?

atitit.MyEclipse10 中增加svn插件故障排除

atitit.MyEclipse10 中增加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config.ini文件中org.eclipse.update.reconcile=false改为org.eclipse.update.reconcile=true 为了启动速度, 在插件加载成功后,可以再把它还原成false 韩式不行.... 查看bundles.info,黑头subversion 一瓦韩式c

模板输出的数组中增加三元运算符来判断

得出一个好用的判断方法,在模板输出的数组中增加三元运算符来判断,挺方便的.当然你也可以用Ajax~ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题</title> </head> <body> 我的口号是什么?——><{$data[

在Unity编辑器中增加脚本的中文说明

在游戏中,程序,美术,策划甚至音效都是分工合作的.很多时候,对于unity3d中一堆英文,大家都会看得很郁闷.尤其是不同的程序员,命名方式也不尽相同,甚至还是用拼音.因此,在脚本中增加一些中文显示,就能够很好地解决这个问题. 首先,unity中对于字段(Field)已经有了很好的中文显示方法[Header]标签 比如 using UnityEngine; public class TestScript : MonoBehaviour {     [Header("变量A")]    

Java集合-5. (List)已知有一个Worker 类如下: 完成下面的要求 1) 创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 2) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300 3) 删除wang5 的信息 4) 利用for 循

第六题 5. (List)已知有一个Worker 类如下: public class Worker { private int age; private String name; private double salary; public Worker (){} public Worker (String name, int age, double salary) { this.name = name; this.age = age; this.salary = salary; } public

往jdk/bin目录中增加tcnative-1.dll文件以后报错 Can&#39;t load AMD 64-bit .dll on a IA 32-bit platform

开始时,运行Tomcat控制台报错: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk1.6.0_26/jre/lib/i386/server:/usr/local/jdk1.6.0_26/jre/lib/i386:/usr/loca