淺談layui使用模板引擎動(dòng)態(tài)渲染元素要注意的問題
摸索這個(gè)模板引擎碰到的問題,分享一下
本人在實(shí)現(xiàn)使用laytpl實(shí)現(xiàn)動(dòng)態(tài)渲染菜單,來減少靜態(tài)代碼時(shí)候碰到了,元素是成功渲染出來,但是折疊動(dòng)畫效果和點(diǎn)擊事件都失效了,然后仔細(xì)看了一下官方文檔
官方文檔原話:跟表單元素一樣,很多時(shí)候你的頁面元素可能是動(dòng)態(tài)生成的,這時(shí)element的相關(guān)功能將不會(huì)對(duì)其有效,你必須手工執(zhí)行 element.init(type, filter)方法即可。注意:2.1.6 開始,可以用 element.render(type, filter);
意思是我們動(dòng)態(tài)渲染頁面的時(shí)候,渲染完后一定要執(zhí)行element.init()進(jìn)行重新渲染,這樣動(dòng)畫效果和事件才能正常運(yùn)行
以下是我實(shí)現(xiàn)layui模板引擎實(shí)現(xiàn)動(dòng)態(tài)菜單源碼
var data = { menu: [{ parentTitle: '權(quán)限列表', icon: 'layui-icon-auz', expand: 'layui-nav-itemed', //是否默認(rèn)展開 child: [{ title: '管理員列表', href: "{{route('admin.list')}}" }, { title: '角色列表', href: "{{route('role.index')}}" }, { title: '權(quán)限列表', href: "" }] }] }; var getTpl = menuTpl.innerHTML, view = document.getElementById('menu'); laytpl(getTpl).render(data, function(html) { view.innerHTML = html; }); //初始化動(dòng)態(tài)元素,一些動(dòng)態(tài)生成的元素如果不設(shè)置初始化,將不會(huì)有默認(rèn)的動(dòng)態(tài)效果 element.render();
這篇淺談layui使用模板引擎動(dòng)態(tài)渲染元素要注意的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- layui動(dòng)態(tài)渲染生成select的option值方法
- layui動(dòng)態(tài)渲染生成左側(cè)3級(jí)菜單的方法(根據(jù)后臺(tái)返回?cái)?shù)據(jù))
- layui的布局和表格的渲染以及動(dòng)態(tài)生成表格的方法
- 解決使用layui的時(shí)候form表單中的select等不能渲染的問題
- layui使用表格渲染獲取行數(shù)據(jù)的例子
- layui問題之渲染數(shù)據(jù)表格時(shí),僅出現(xiàn)10條數(shù)據(jù)的解決方法
- 解決layui 表單元素radio不顯示渲染的問題
- 使用layui 渲染table數(shù)據(jù)表格的實(shí)例代碼
- layui框架table 數(shù)據(jù)表格的方法級(jí)渲染詳解
- layUI ajax加載html頁面后重新渲染的方法
- 解決Layui當(dāng)中的導(dǎo)航條動(dòng)態(tài)添加后渲染失敗的問題
相關(guān)文章

Js操作樹節(jié)點(diǎn)自動(dòng)折疊展開的幾種方法

JavaScript實(shí)現(xiàn)頁面中錄音功能的方法

js實(shí)現(xiàn)簡(jiǎn)易計(jì)數(shù)器功能

JS簡(jiǎn)單實(shí)現(xiàn)浮動(dòng)窗口效果示例
![jsTree樹控件(基于jQuery, 超強(qiáng)悍)[推薦]](http://img.jbzj.com/images/xgimg/bcimg9.png)
jsTree樹控件(基于jQuery, 超強(qiáng)悍)[推薦]