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特效代码,将会非常方便,下面懒人萱将超全的 ...
随机推荐
- MySQL数据库引擎简介
简单说,当你访问数据库时,不管是手工访问,还是程序访问,都不是直接读写数据库文件,而是通过数据库引擎去访问数据库文件.以关系型数据库为例,你发SQL语句给数据库引擎,数据库引擎解释SQL语句,提取出你 ...
- C#正则表达式匹配双引号
html: <img class="bubble large" src="/images/hero-logos/cog.svg" width=" ...
- intellij idea 在执行maven的操作 install等会出现中文乱码?其他程序打印正常?
之前一直碰到过这个问题,也没在意,因为那个中文对我来说用处不大,今天看着务必难受,一定把他给解决了,查了一下,找到了解决方法,如下: 首先打开你的设置. Setting->maven->r ...
- (转)typedef和#define的用法与区别
typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...
- SDUT 2129 树结构练习——判断给定森林中有多少棵树
树结构练习——判断给定森林中有多少棵树 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 众 ...
- AbstractBootstrap的研读
AbstractBootstrap是一个工具类,用来配置和启动Channel的,下面看下AbstractBootstrap的类继承,ServerBootstrap用于启动ServerChannel的, ...
- easyUI datagrid 分页参数page和rows
Struts2获取easyUI datagrid 分页参数page和rows 用pageHelper分页时,只要是能够获取前台传来的两个参数page和rows基本就完成了很大一部分. 获取方法:定义两 ...
- 小组作业wordCountPro·
基本任务:代码编写+单元测试 (1) Github地址: https://github.com/LongtermPartner/ExtendWordCount (2) PSP表格: psp 2.1 ...
- 自定义MVC的Helper扩展方法 转 Insus.NET
记得在开发ASP.NET时候,也经常性使用C#可以写自己义的扩展方法,如: http://www.cnblogs.com/insus/p/3154363.html 或http://www.cnblog ...
- UIPasteboard
1.UIPasteboard 简介 顾名思义,UIPasteboard 是剪切板功能,因为 iOS 的原生控件 UITextField.UITextView.UIWebView, 我们在使用时如果长按 ...