利用Vue2.x开发实现JSON树的方法

 更新时间:2018年01月04日 10:07:58   作者:DanielLi  
这篇文章主要给大家介绍了关于利用Vue2.x开发实现JSON树的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

最近工作中遇到一个需求,由于项目需要一个解析 JSON 字符串并生成 JSON 树的功能,在 GitHub 上也没有找到合适的组件,因此基于 Vue2.X 自己写了一个 JSON 树组件,主要原理是利用 Vue 的递归组件,进行深度优先的先序遍历。该组件不仅可以将一段不可读的 JSON 字符串转化为可读的树形结构,同时可用于抓取某一子树的数据。

组件在它的模板内可以递归地调用自己。不过,只有当它有 name 选项时才可以这么做

字符串数据美化功能:

特定层级数据抓取功能:

<tree
 :parent-data="data"
 :data="item"
 :path="path + (Array.isArray(data) ? `[${index}]` : `.${index}`)"
 :path-checked="pathChecked"
 :path-selectable="pathSelectable"
 :selectable-type="selectableType"
 :index="index"
 :child="true"
 @click="handleItemClick">
</tree>

通过 parent-data 传入父亲的数据,data 传入孩子的数据,当子树的数据是简单类型时,不再进入递归,同时该组件提供了一个 click 事件,用于获取特定节点的树数据,而孩子的数据,则通过递归机制不断向上一层级传递,类似于“冒泡机制”。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • vue favicon设置以及动态修改favicon的方法

    vue favicon设置以及动态修改favicon的方法

    这篇文章主要介绍了vue favicon设置以及动态修改favicon的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Vue-cli3.X使用px2 rem遇到的问题及解决方法

    Vue-cli3.X使用px2 rem遇到的问题及解决方法

    这篇文章主要介绍了Vue-cli3.X使用px2rem遇到的问题及解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 关于vue属性使用和不使用冒号的区别说明

    关于vue属性使用和不使用冒号的区别说明

    这篇文章主要介绍了关于vue属性使用和不使用冒号的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 如何在vue3中同时使用tsx与setup语法糖

    如何在vue3中同时使用tsx与setup语法糖

    这篇文章主要介绍了如何在vue3中同时使用tsx与setup语法糖,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Vue3实现自定义指令拦截点击事件的示例代码

    Vue3实现自定义指令拦截点击事件的示例代码

    某些应用场景会给点击事件添加权限,不存在权限就拦截点击事件,有权限就继续正常触发点击事件。这样的效果是如何实现的呢,本文就来和大家详细讲讲
    2023-02-02
  • antdv vue upload自定义上传结合表单提交方式

    antdv vue upload自定义上传结合表单提交方式

    这篇文章主要介绍了antdv vue upload自定义上传结合表单提交方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • VueCli3.0中集成MockApi的方法示例

    VueCli3.0中集成MockApi的方法示例

    这篇文章主要介绍了VueCli3.0中集成MockApi的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Vue中实现动态更新JSON数据的三种方式

    Vue中实现动态更新JSON数据的三种方式

    在 Vue 项目中动态更新 JSON 数据,可以通过以下几种方式实现,具体方法取决于你的需求,比如数据是存储在前端还是后端、是否需要持久化等,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-04-04
  • 一文带你了解什么是Vue的前端微服务架构(Micro Frontends)

    一文带你了解什么是Vue的前端微服务架构(Micro Frontends)

    微前端架构是一种将大型前端应用拆分为多个小型、独立的前端应用的架构风格,每个小型前端应用都可以独立部署、独立开发和独立运行,下面我们就来学习一下它的相关使用吧
    2023-11-11
  • vue自定义全局组件(自定义插件)的用法

    vue自定义全局组件(自定义插件)的用法

    这篇文章主要介绍了vue自定义全局组件(自定义插件)的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论