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特效代码,将会非常方便,下面懒人萱将超全的 ...
随机推荐
- touch: cannot touch `/home/tomcat7/logs/catalina.out': Permission denied
今天打开虚拟机启动tomcat,Y的包这个错,普通用户登录的,一直报这个错误,竟然没有想起来是为什么,真是感到惭愧,其实原因很简单,就是logs文件夹没有读写的权限,一条 chmod -R 777 l ...
- springMVC 返回json乱码问题
多次遇见过这个问题,springMVC下返回给前端的json字符串,中文总是乱码,每次都要去翻一下之前的代码来看解决办法,有必要做个笔记记一下这个问题了. 解决方法: 在方法注解中加入如下: @Req ...
- resize函数有五种插值算法
转自http://blog.csdn.net/fengbingchun/article/details/17335477 最新版OpenCV2.4.7中,cv::resize函数有五种插值算法:最近邻 ...
- 【Boost】boost库中timer定时器 2
博客转载自:http://blog.csdn.net/yockie/article/details/40386145 先跟着boost文档中asio章节的指南中的几个例子学习一下使用: 所有的Asio ...
- R: 常用操作:
################################################### #清除所有变量: rm(list=ls()) #查看变量类型 getwd() setwd() i ...
- GCD学习(七) dispatch_apply
dispathc_apply 是dispatch_sync 和dispatch_group的关联API.它以指定的次数将指定的Block加入到指定的队列中.并等待队列中操作全部完成. NSArray ...
- GPG入门
GPG入门 摘自https://www.jianshu.com/p/1257dbf3ed8e Nitroethane 关注 2016.07.19 17:36* 字数 1003 阅读 6560评 ...
- Swingr的JTextField、JPasswordField设置圆角输入框
方法1:定义Border,然后给JTextField设置即可 摘自并整理:https://blog.csdn.net/u012093968/article/details/39316679 最好添加这 ...
- 自己实现 String 类
实现Stirng类:构造函数.复制构造.拷贝构造.重载<<符号(友元) #include <iostream> #include <string.h> #inclu ...
- ISIS协议
ISIS协议是中间系统到中间系统协议(Intermediate system to intermediate system),是一种内部网管协议,是电信运营商普遍采用的内部网管协议之一. 简单的说IS ...