元素功能的开启需要加载element模块,对于重新生成的html,我们要在生成后重新渲染。如果我们的模块是通过ajax异步请求获取到数据后再加载的html,那么我们要等到确保html生成后再执行重新渲染。
有两种方式来处理这个问题
1、element作为参数传递下去
layui.use(['element', 'layedit'], function () {
var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
init(element);
});
function init(element) {
$.ajax({
url: 'http://localhost:10006/bd/bdanthology/list/page?limit=999',
type: 'get',
headers: {
'Content-Type': 'application/json',
'token': '2bdcf72cf174fc59585f1da865caa4cd'
},
success: function (res) {
if (res.code == 0) {
resetAnthology(res.data.list);
element.render('nav(anthology)')
} else {
layer.alert(res.msg)
}
},
})
}
2、等待几秒钟再执行
layui.use(['element', 'layedit'], function () {
var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
init();
setInterval(function () {
element.render('nav')
},1000)
});
网友评论