当点击按钮“Replace current tabs”时,TabContainer原有的tab会被清除掉,代之以新的tab。
function rep(){
var con = dijit.byId("container");
con.destroyDescendants();
var list = ["dijit.layout.ContentPane", "dijit.layout.ContentPane"];
for(var i = 0; i 这个时候错误就出现了:
知道了错误产生的原理,解决方法可以有很多种。为了保持延迟加载,有一种较好的解决方法[2],就是在销毁各个tab时,阻止其显示功能被触发。重写点击“Replace current tabs”按钮的功能如下:
function rep(){
var con = dijit.byId("container");
dojo.forEach(con.getChildren(), function(child){
if(!child.selected){
con.removeChild(child); //con.closeChild(child);
}
});
con.destroyDescendants(); // destroy the final visible tab
var list = ["dijit.layout.ContentPane", "dijit.layout.ContentPane"];
for(var i = 0; i