vue中组件之间的相互调用,及通用后台管理系统左…
2018-06-24 01:26:42来源:未知 阅读 ()
由于本人近期开始学习使用vue搭建一个后端管理系统的前端项目,在左侧生成菜单树的时候遇到了一些问题。在这里记录下
分析:由于本人设定的菜单可以使多级结构,直接使用vue的v-for 遍历并不是很方便。那么这里采用递归的方式进行菜单树的生成
1.首先在使用vue-cli生成的项目中,在components下新建一个menu.vue组件。
menu.vue的内容为:
1 <template> 2 <div class="wMenu"> 3 <label v-for="(menu, index) in menuList"> 4 5 <el-submenu v-if="menu.havingChild" :index="menu.id"> 6 <template slot="title"> 7 <i :class="menu.icon"></i> 8 <span slot="title">{{ menu.menuName }}</span> 9 </template> 10 <wMenu :menuList="menu.children"></wMenu> 11 </el-submenu> 12 13 <el-menu-item v-if="!menu.havingChild" :index="menu.id"> 14 <i :class="menu.icon"></i> 15 <span slot="title">{{ menu.menuName }}</span> 16 </el-menu-item> 17 </label> 18 </div> 19 </template> 20 21 <script> 22 export default { 23 name: 'wMenu', 24 props: ['menuList'], 25 data () { 26 return { 27 } 28 }, 29 methods: { 30 getMenuSize() { 31 return this.menuList.length; 32 } 33 } 34 } 35 </script> 36 37 <!-- Add "scoped" attribute to limit CSS to this component only --> 38 <style scoped> 39 40 </style>
这里需要注意的是在第10行的时候,是需要通过我们定义的组件名称调用自己,将子节点的菜单数据传入组件中,实现递归遍历。
2.接下来就要在父组件中调用,也就是我这边定义的layout.vue
首先引入要调用的组件
然后在当前组件中定义使用该组件
接下来就可以直接使用了,
完整代码请到我的github上查看 https://github.com/wylsource/vue-elementui
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:js 删除 对象
下一篇:Vue到底是怎样个框架?
- vue.js开发环境搭建教程 2020-03-16
- Vue input控件通过value绑定动态属性及修饰符的方法 2020-03-05
- 详解Webstorm 新建.vue文件支持高亮vue语法和es6语法 2020-02-07
- vue路由跳转时判断用户是否登录功能的实现 2020-01-17
- vue-cli中打包图片路径错误的解决方法 2020-01-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash