因为将 lay-done 写到 controller 中,需要等 controller 加载完才能访问到定定义的 done 方法
有时候模版渲染完了,controller 还未加载完,导致执行不了 lay-done
解决方法如下:
1、在 \src\controller\common.js 新增全局函数waitDone,如下:
//回调的等待方法(回調放到 controller 中,方法还没加载到)
var waitDone = function(callback,data){
try{
if(typeof(eval(callback))=="function"){
window[callback](data);
}
}catch(e){
setTimeout(function(){
waitDone(callback,data)
},100);
}
}
2、模版块代码中的 lay-done 改成如下写法:
<script type="text/template" template lay-done="waitDone('user_add_template_done',d.params)">
...
</script>