后台反的数据
mm: [ { path:'hh', name:'系统管理', func_fid: 0, id: 1, children: [ { id: 1, func_fid: 1, path:'son1', name: '系统管理儿子', }, { id: 2, func_fid: 1, path:'hhh', name: '系统管理-角色', children: [ { id: 2, func_fid: 1, path: 'son1-1-1', name: '角色管理', children:[ { id: 2, func_fid: 2, path: 'son1-1-1', name: '角色管理儿子', children:[ { id: 2, func_fid: 2, path: 'son1-1-1', name: '角色管理儿子-----孙子', } ] } ] } ] }, { id: 12, path: 'son1-2', name: '用户管理' } ] }, { path:'ss', name:'教学管理', id: 2, func_fid: 0, children: [ { path:'son2', name:'教学管理儿子', id: 2, func_fid: 2, } ] }, { path:'zz', name:'行政管理', id: 3, func_fid: 0, children: [ { path:'son3', name:'行政管理儿子', id: 3, func_fid: 3, } ] }, ],
递归代码
vv(e) { let hh = []; function traverse(node) { hh.push(node) if (node.children && node.children.length > 0) { for (let i = 0; i < node.children.length; i++) { traverse(node.children[i]); } } console.log('-------------------') console.log(hh); } this.mm.forEach(item => { traverse(item) }) }
最后的结果
