vue js 实现 树形菜单
添加一个模板。
<template id="menu-template">
<li v-if="model.nodes!=undefined">
<a href="#" class="menu-dropdown"> <i class="menu-icon ${child.icon!''}"></i> <span class="menu-text">
{{model.title}} </span> <i class="menu-expand"></i>
</a>
<ul class="submenu">
<item v-for="model in model.nodes" :model="model"></item>
</ul>
</li> <li v-else>
<a href="javascript:void(0)" data-url=""><i class="menu-icon "
:class="model.icon"
></i> <!-- 图标 --> <span class="menu-text">{{model.title}}</span></a> </li> </template>
注册组件
Vue.component('item', {
template: '#menu-template',
props: {
model: Object
}
})
$.post("http://127.0.0.1:88/admin/getFunctionJson.action", null, function(data) {
var app = new Vue({
el: "#app",
data: data
})
})
使用:
<item v-for="model in message" :model="model"></item> message 为一个 数组
<!-- 树形菜单... -->
<template id="menu-template">
<li v-if="model.nodeList!=undefined" class="treeview">
<a href="#" class="menu-dropdown"> <i class="fa" :class="model.icon"></i>
<span>
{{model.title}}</span> <i class="fa fa-angle-left pull-right"></i></span>
</a>
<ul class="treeview-menu">
<item v-for="model in model.nodeList" :key="model.id" :model="model"></item>
</ul>
</li> <li v-else>
<a href="javascript:void(0)" data-url=""><i class="fa" :class="model.icon"></i>
<!-- 图标 -->
<span>{{model.title}}</span></a>
</li>
</template>
<script>
Vue.component('item', {
template: '#menu-template',
props: {
model: Object
}
})
var message = [];
$.post("{$ctx}/admin/auth/getFuncTree", null, function (data) {
var obj = {};
obj.message = data;
var app = new Vue({
el: "#app",
data: obj
})
})
vue js 实现 树形菜单的更多相关文章
- Vue.js实现后台菜单切换
因为刚初学Vue.js,暂时遇到以下问题,待之后解决 点击父节点,怎么隐藏显示子节点 点击父节点或子节点,切换li的class="active" iframe怎么自适应高度 思路 ...
- Vue.js学习 — 微信公众号菜单编辑器(一)
学习里一段时间Vue.js,于是想尝试着做一个像微信平台里那样的菜单编辑器,在这里分享下 具体样式代码查看项目github 创建一个vue实例 <!DOCTYPE html> <ht ...
- jQuery树形菜单(1)jquery.treeview
jQuery的树形插件资料URL:http://bassistance.de/jquery-plugins/jquery-plugin-treeview/从该网站Download得到jquery.tr ...
- Vue.js 递归组件实现树形菜单
最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...
- 用Vue.js递归组件构建一个可折叠的树形菜单
在Vue.js中一个递归组件调用的是其本身,如: Vue.component('recursive-component', { template: `<!--Invoking myself! ...
- Vue.js递归组件实现动态树形菜单
使用Vue递归组件实现动态菜单 现在很多项目的菜单都是动态生成的,之前自己做项目也是遇到这种需求,翻看了官网案例,和网上大神的案例.只有两个感觉,官网的案例太简洁,没有什么注释,看起来不太好理解,大神 ...
- vue.js与element-ui实现菜单树形结构
由于业务需要,要求实现树形菜单,且菜单数据由后台返回,在网上找了几篇文章,看下来总算有了解决办法.借鉴文章链接在最底部. 场景:根据业务要求,需要实现活动的树形菜单,菜单数据由后台返回,最后的效果图如 ...
- vue树形菜单
vue树形菜单 由于项目原因,没有使用ui框架上的树形菜单,所以自己动手并参考大佬的代码写了一个树形菜单的组件,话不多说,直接上代码.html代码js代码直接调用api 把请求到的数据直接赋值给per ...
- JS树形菜单
超全的JS树形菜单源代码共享(有实例图) 树形菜单是很常用的效果,常用在管理软件当中,但是一套树形菜单已经不能满足需求,所以如果能有一套比较全面的树形菜单JS特效代码,将会非常方便,下面懒人萱将超全的 ...
随机推荐
- docker 笔记 (7) 限制容器
内存 -m 或 --memory:设置内存的使用限额,例如 100M, 2G.--memory-swap:设置 内存+swap 的使用限额.--vm 1:启动 1 个内存工作线程.--vm-bytes ...
- Linux 2.6 中的文件锁
简介: 本文的目的是想帮助读者理清 Linux 2.6中文件锁的概念以及 Linux 2.6 都提供了何种数据结构以及关键的系统调用来实现文件锁,从而可以帮助读者更好地使用文件锁来解决多个进程读取同一 ...
- JVM知识点总览
jvm 总体梳理 jvm体系总体分四大块: 类的加载机制 jvm内存结构 GC算法 垃圾回收 GC分析 命令调优 当然这些知识点在之前的文章中都有详细的介绍,这里只做主干的梳理 这里画了一个思维导图, ...
- sqlplus--sqlldr命令参数详解
sqlplus--sqlldr参数详解 sqlldr,Oracle快速导入数据的工具,是sqlplus的指令,不是sql语法里的东西. 一.下面是SQL*LOADER的基本特点:1)能装入不同数据类型 ...
- c#循环语句 for 循环嵌套的练习。还有跳转语句,异常语句,迭代穷举介绍
先说一下循环嵌套:循环嵌套就是再一个循环里面再放一个循环,也就是说如果没一个循环都循环10次,那么第一个循环是1的时候,嵌套的循环会循环十次.也就是10*10的效果. for 循环语句 主要还是逻辑思 ...
- Web性能优化 高并发网站解决 单例 已看1
Web性能优化分为服务器端和浏览器端两个方面. 一.浏览器端,关于浏览器端优化,分很多个方面1.压缩源码和图片JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG ...
- little case1
这句话有问题: frame.setContentPane().add(button); The method setContentPane(Container) in the type JFrame ...
- vue 之 面向对象
JavaScript 语言中,生成实例对象的传统方法是通过构造函数. function Animal(name,age){ this.name = name; this.age = age; } An ...
- 李兴华Java培训系列课程
理解程序设计分层的思想: Dao设计模式的组成以及各部分的开发: 3.具体内容 在本次讲解之中,处理IO的部分暂时不会使用到之外,所有Java的重点的核心部分都会涉及到. 实际上在任何的环境下分层的概 ...
- TextView 设置maxLength
1.xml方式 <TextView android:id="@+id/tv" android:layout_width="fill_parent" an ...