关于vue.js:动态菜单栏

31次阅读

共计 667 个字符,预计需要花费 2 分钟才能阅读完成。

要求

依据接口数据动静设置菜单,层级层列都不确定。同时获取到菜单栏之后,每个栏位还须要独自二次申请接口获取栏位的数量。父节点数量须要前端解决,将所有子节点栏位加起来。

三个未知:

栏位未知,层级未知,详情页面未知。

问题

  1. 菜单栏层级列数都不确定,须要依据后端数据渲染,怎么解决?
    这边须要用到组件递归。我的项目用的是 element 的 el-menu。
  2. 菜单栏层级列数都不确定,每个栏位须要申请不同的接口获取数据,且要渲染到对应栏位展现。不确定的多层栏位怎么申请接口。
    设置了一个变量,将菜单栏赋值。而后变量递归,依据取得的接口数据对变量参数进行批改。
  3. 且怎么更新多不确定的多层栏位的组件上?
    对组件进行 ref 设置。递归组件的 refs,顺次强制更新。
  4. 点击菜单栏跳转不同详情页面,栏位数量未知那详情页面也地位,页面怎么解决能力实时依据不同菜单展现数据?
    和后端确定,栏位信息设置 type,且 type 雷同须要跳转雷同模版页面,依据携带的数据不同,页面展现不同数据。router-view 应用 keep-alive,将路由信息设置为 key。这样路由信息不同页面会从新 actived。再设置几套页面模板。依据 type 不同跳转不同模板进行页面渲染。
  5. 详情页面的信息都在菜单栏上,怎么在点击的时候能获得这些栏位信息。
    能够放在路由 meta 上,点击菜单的时候动静设置 meta。详情页进去的时候,钩子函数监听获取这些数据。
  6. 层级未知,父节点数量须要将所有子节点栏位加起来,怎么相加?
    应用 computed,传入你以后节点的数据,递归数据以后节点数据。这样能够计算你上面所有子节点的数据。
正文完
 0