前言
在开发中我们经常会遇到:导航菜单、部门菜单、权限树、评论等功能。
这些功能都有共同的特点:
有父子关系
可无限递归
我们以导航菜单为例, 我们将导航菜单设置为动态的, 即从动态加载菜单数据。...适用于数据库存储的设计如下:
create table `menus`
(
`id` int primary key auto_increment,
`name` varchar(20) comment '菜单名称...default 0 comment '父级 ID, 最顶级为 0',
`order` int comment '排序, 序号越大, 越靠前'
)
前端渲染
对于前端来说, 我们一般需要这种效果:
菜单配置页面...对应的导航菜单:
?
常用的树形显示插件有: JsTree, zTree, Layui Tree, Bootstrap Tree View 等。...附:模板引擎渲染
有时我们会使用模板引擎来渲染菜单, 但由于菜单是树形结构的, 所以在模板引擎中单纯的使用 for 是无法完成无限极菜单的渲染的.