$.init = function(options) {
isInitialized = true;
$.options = $.extend(true, $.global, options || {});
$.ready(function() {
$.doAction('inits', function(index, init) {
var isInit = !!(!inits[init.name] || init.repeat);
if (isInit) {
init.handle.call($);
inits[init.name] = true;
}
});
});
return this;
};
源码中使用 inits 来存放曾经已定义的 init 标志
默认有3个
5+: true
iframe: true
keyEventBind: true
当使用 init 方法定义了一个新的功能, 如pullRefresh ,inits会添加
5+: true
iframe: true
keyEventBind: true
pullrefresh: true
单页面条件下mui.js只会利用requirejs加载一次,页面中对于一个容器使用init方法定义功能后,容器消逝释放掉后,inits里的没有自动释放, inits 是局部变量 ,我该如何去手动修改?
源码中1854行定义的 inits
4 个回复
士官长 (作者)
自己动手解决了,强烈建议有个清除inits这个内部变量的方法
虽然代码好恶心,但是目前也没什么办法
士官长 (作者)
基本不用init了,自己写个调用执行逻辑,把上面的写成函数即可
戈饭
同问,单页应用如何重新初始化
寒寒
请问怎么清除 能说一下嘛