vue递归组件

//json数据

var tree = [{

‘menuName‘: ‘基础管理‘,

‘menuCode‘: ‘10‘,

‘children‘: [{

‘menuName‘: ‘用户管理‘,

‘menuCode‘: ‘11‘

}, {

‘menuName‘: ‘角色管理‘,

‘menuCode‘: ‘12‘,

‘children‘: [{

‘menuName‘: ‘管理员‘,

‘menuCode‘: ‘121‘

}]

}]

}]

// 父组件 引用
items(v-bind:model=‘menuItem‘)(v-for=‘menuItem in tree‘)

// 子组件
 <template lang="jade">

ul

li

{{ model.menuName }}

tree-menu(v-for="item in model.children")(v-bind:model="item")

</template>

<script type="text/javascript">

export default {

name: ‘treeMenu‘,

props: [‘model‘]

}

</script>

时间: 2024-11-03 01:35:00

vue递归组件的相关文章

vue递归组件 (树形控件 )

首先我们要知道,既然是递归组件,那么一定要有一个结束的条件,否则就会使用组件循环引用,最终出现“max stack size exceeded”的错误,也就是栈溢出.那么,我们可以使用v-if="判断条件"作为递归组件的结束条件.当遇到v-if为false时,组件将不会再进行渲染 1. 准备一个树状的递归数据 navigation: [ { types: 1, id: "0", name: "首页", path: "/jiaowu_sy

vue递归组件的一些理解

自己做个小项目练手,需要用到组件递归,网上查了一些资料,每个代码片段都认识,但是连起来,就一团浆糊. 既然人傻就多思考吧.不明白的点有以下: 1.组件怎么自己调用自己,函数的递归是就是在function fn(){ fn() },组件的递归没有看到这样子的呀. 答:组件中使用name属性,给组件自己定义个名字,这样在组件中就可以自己调用自己了.就像在函数中直接调用函数名来来递归. 2.组件的递归中一层又一层数据是如何获取到的? 答:将嵌套的数据重新赋值给prop设置的属性. <tree-menu

Vue递归组件实现层层嵌套显示数据

问题来自朋友...记录一下 需求是表格头部后端返回的数据中是不确定的 n维数据,表头存在于 listVo 字段中,如何实现层层显示呢? 温馨提示,以下内容为5张大图,请打开 WIFI 享用... 以下为效果图:  以下为数据结构: 解决方法一:最笨的方法,有几层就循环几层,你们愿意用就用啊,我要讲新方法 ^-^  优秀的解决方法二:定义一个组件,递归它 = =.  使用位置:  是不是很奇特,喜欢就留言吧 ^-^ 原文地址:https://www.cnblogs.com/jun-qi/p/114

Vue两种组件类型介绍:递归组件和动态组件

一递归组件 递归组件的特性就是可以在自己的template模板中调用自己本身.值得注意的它必须设置name属性. // 递归组件 recursive.vue <template> <div> <p>递归组件</p> <Recursion :count="count + 1" v-if="count < 3"></Recursion> </div> </template&g

Vue组件的操作-自定义组件,动态组件,递归组件

作者 | Jeskson 来源 | 达达前端小酒馆 v-model双向绑定 创建双向数据绑定,v-model指令用来在input,select,checkbox,radio等表单控件.v-model指令在内部使用不同的属性为不同的输入元素抛出不同的事件. v-mdel指令实现数据的双向绑定: <div> 用户名:<input type="text" v-model="name"> </div> 输入用户名是:{{name}} &l

vue+elementUI 做的递归组件

废话少说,直接上最新鲜的干货 当然,你得提前安装好bootstrap,router,element-ui,vue-axios 1.上递归组件,此处参考了某位大神的代码,具体不知道是谁,因为到处都有人用 <template> <div> <template v-for='menu in menuList'> <!-- 如果当前有子菜单,则显示 el-submenu ,在el-subment 里调用 递归组件 --> <el-submenu v-if='m

谈谈Vue的递归组件

2月最后一天,而且还四年一遇,然而本月居然一篇博客没写,有点说不过去.所以,今天就来谈谈Vue的递归组件.我们先来看一个例子: See the Pen 递归组件 by imgss (@imgss) on CodePen. 什么是递归组件 上面这个例子,就是用递归组件实现的.递归组件,顾名思义,就是自己的内部实现又调用自己的组件.比如Vue官方给的treeView的例子,父目录下有子目录,子目录下还有子目录,子子孙孙,无穷尽也.就像俄罗斯套娃. 代码结构大概长下面这样子,需要注意递归组件与一般组件

递归组件

递归组件 组件在它的模板内可以递归地调用自己,只有当它有 name 选项时才可以. 在官网这句话就是关键定义组件是一定要有name属性.按照这个思路我们开动吧. 实现最终效果图: 模拟数据格式如下: var data = [{ "id": "1", "data": { "menuName": "项目管理", "menuCode": "", }, "child

vue2 递归组件--树形学习分享

今天看了老长时间递归组件,官方给的教程太简便了,根本看不出到底怎么用.于是自己查网摸索了一下,这儿只把核心思想写出来. 效果如下图,点击后打开二级菜单,再点击后打开三级. //js //引子aaa:{ //组件名字aaa,挂载到components中的. name:'aa', template:` <div>组件</div> <aa></aa>` //其实这儿就已经是递归调用了,只要在html中使用但是会无限循环下去.所以就需要一个结束点.这个结束点怎么给?