Vue.javascript组件tree如何实现无限级树形菜单

我双手接过晶莹的雪花,想数一数它有几朵花瓣,谁知它到手上就不见了,变成了小水珠。

分享一段用 <ul>和<li>标签实现tree的代码,可能写的不是很好,如果大家有更好的希望分享下。
代码看这里喽:

html代码:

<div class="tree">
 <nav class='navbar'>
 <ul class='nav nav-stacked'>
 <template v-for='item in menus'>
 <li role='presentation' v-if='!item.children'><a rel="nofollow noopener noreferrer" href="#">{{item.text}}</a></li>
 <li role='presentation' v-if='item.children'><a rel="nofollow noopener noreferrer" href="#" v-on:click='toggleChildren(item)'>{{item.text}}<span class='glyphicon' v-bind:class='{ "glyphicon-chevron-right": !item.expanded, "glyphicon-chevron-down": item.expanded }'></span></a>
 <ul v-show='item.expanded' class="childs">
 <li v-for='child in item.children'><a rel="nofollow noopener noreferrer" href="#">{{child.text}}</a></li>
 </ul>
 </li>
 </template>
 </ul>
 </nav>
</div>

js代码:

methods: {
 toggleChildren: function(item) {
 item.expanded = !item.expanded;
 },
 },
 data() {
 return {
 menus:[{
 text:'水果',
 expanded:false,
 children:[{
 text:'苹果',
 },{
 text:'荔枝'
 },{
 text:'葡萄'
 },{
 text:'火龙果'
 }]
 },{
 text:'好吃的',
 expanded:false,
 children:[{
 text:'糖',
 },{
 text:'面包'
 },{
 text:'火腿'
 },{
 text:'薯片'
 },{
 text:'碎碎面'
 }]
 },{
 text:'饮料',
 expanded:false,
 children:[]
 }]
 }
 },

效果图:

本文已被整理到了《Vue.js前端组件学习好代码教程》,欢迎大家学习阅读。

关于vue.js组件的好代码教程,请大家点击专题vue.js组件学习好代码教程进行学习。

到此这篇关于Vue.javascript组件tree如何实现无限级树形菜单就介绍到这了。这一年吃的苦承受的压力,全都很值得。不过也逼自己看到了自己的弱点,已经损失了三年,要珍惜为自己争取来的两年。更多相关Vue.javascript组件tree如何实现无限级树形菜单内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
Vue路由参数的传递与获取方式详细介绍

vue学习记录之动态组件浅析

如何解决ElementUI组件中el-upload上传图片不显示问题

解读element el-upload上传的附件名称不显示 file-list赋值

一篇关于el-table-column的formatter的如何使用及说明