欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue layui 菜單渲染

下面我們來(lái)介紹一下layui菜單渲染使用Vue的方法,首先需要引入layui和Vue的相關(guān)庫(kù),例如:

<!-- 引入layui庫(kù) -->
<link rel="stylesheet" href="layui/css/layui.css">
<script src="layui/layui.js"></script>
<!-- 引入Vue庫(kù) -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

layui的菜單渲染需要依賴tree模塊,我們可以使用npm來(lái)安裝tree模塊:

npm install layui-tree

接下來(lái),我們需要在Vue的實(shí)例中引入tree模塊:

Vue.use(tree);

下一步是在Vue的組件中定義菜單的數(shù)據(jù)源,例如

//定義菜單數(shù)據(jù)源
var menuData = [
{
"name": "首頁(yè)",
"url": "index.html"
},
{
"name": "管理中心",
"children": [
{
"name": "用戶管理",
"url": "user.html"
},
{
"name": "角色管理",
"url": "role.html"
}
]
},
{
"name": "系統(tǒng)設(shè)置",
"url": "sys.html"
}
];

接下來(lái),我們需要在Vue組件中渲染我們的菜單:

//定義組件
Vue.component('my-menu', {
data:function(){
return {
menuData:menuData,
showMenu:false
}
},
template: '<div><button class="layui-btn" @click="showMenu=!showMenu">顯示菜單</button>' +
'<div v-show="showMenu" class="layui-collapse" lay-accordion>'+
'<my-menu-item v-for="item in menuData" :item="item"></my-menu-item>'+
'</div></div>'
});
//定義子組件
Vue.component('my-menu-item', {
props:['item'],
template: '<div><div :class="\'layui-colla-item \' + (item.children?\'\':\'layui-colla-item-noborder\')">'+
'<h2 class="layui-colla-title" @click="toggleCollapse">{{item.name}}</h2>' +
'<div v-if="item.children" class="layui-colla-content">'+
'<my-menu-item v-for="child in item.children" :item="child"></my-menu-item>'+
'</div></div>',
methods:{
toggleCollapse:function(e){
var target=e.target;
$(target).parent().toggleClass("layui-colla-item-expanded");
}
}
});

最后,我們?cè)趆tml中使用my-menu組件來(lái)渲染菜單:

<div id="app">
<my-menu></my-menu>
</div>
<script>
new Vue({
el:'#app'
});
</script>

至此,我們完成了vue與layui菜單的渲染,可以在頁(yè)面中使用該組件渲染我們的菜單。