下载地址: https://github.com/imxiaoer/FloatToolBar
因为是个常见的功能,所以写个组件。效果图如下:
组件具体代码如下: tool.vue
<template> <ul class="float-tool"> <li class="hasChild"> <span class="tool-icon icon0"></span> <span>联系电话</span> <div class="txtbox"> <span>请拨 102-0012-9242</span> </div> </li> <li> <span class="tool-icon icon1"></span> <span>QQ 客服</span> </li> <li class="hasChild"> <span class="tool-icon icon2"></span> <span>APP下载</span> <div class="picbox"> <img src="/UploadFiles/2021-04-02/wechat.jpg">下载地址: https://github.com/imxiaoer/FloatToolBar
补充:下面看下vue 侧边导航栏递归显示 的实例代码。
import axios from "axios"; import tabs1 from "../tab_content/tab1.vue"; import myTree from "./items.vue"; export default { data() { return { theModel: [], }; props: ["tabs"] }, components: { myTree }, methods: { tabsvalue(data){ console.log(data) this.$emit("get-data",data) } }, watch: { }, created() { axios .get("../../../static/nav.json") // .get("。。。") .then( function(response) { var arr = response.data.dActionList; var zNodes = []; var farternode = []; for (var i in arr) { if (arr[i].desktop == "0" && arr[i].parentId != null) { farternode.push(arr[i]); } if (arr[i].parentId && arr[i].desktop == "1") { zNodes.push(arr[i]); } } var childNodes = function getChildNodes( parentId, zNodes, nodes, child, parentItem ) { if (!parentId || !zNodes) return nodes; var childNode = []; for (var k in zNodes) { if (zNodes[k].parentId == parentId) { if (child) { childNode.push(zNodes[k]); } else { nodes.push(zNodes[k]); } childNodes(zNodes[k].id, zNodes, nodes, true, zNodes[k]); } } if (childNode.length > 0 && child) { parentItem.children = childNode; } return nodes; }; for (var j in farternode) { farternode[j]["children"] = []; var nodes = []; nodes = childNodes(farternode[j].id, zNodes, nodes, false, null); farternode[j].children = nodes; } console.log(farternode); console.log(nodes); this.theModel = farternode; }.bind(this) ) .catch(function(error) { console.log(error); }); console.log(this.$refs.tabsdata) } };父组件 的js
<template> <div id="navto"> <my-tree v-for="menuItem in theModel" :key="menuItem.id" :model="menuItem" @data-tabsvalue="tabsvalue"></my-tree> </div> </template>父组件的节点
import tabs from '../compont/tabs.vue' export default { name: 'treeMenu', props:["model"], data () { return { folderIcon: 'folder', isDynamicFolder: false, isOpen: false, } }, computed: { isFolder () { return !!(this.model.children && this.model.children.length) } }, watch: { isDynamicFolder () { this.isOpen = true this.folderIcon = 'folder-open' } }, methods: { tabsvalue(data){ this.$emit("data-tabsvalue",data) }, run(data){ if(!data.children){ this.tabsvalue(data) console.log(data.text); console.log(data.url) } }, toggle () { this.isOpen = !this.isOpen this.folderIcon = this.isOpen "htmlcode"><template> <li> <span @click="toggle"> <i :class="['icon', (isFolder || isDynamicFolder) "></i> <span class="mousestyle">{{ model.text}}</span> </span> <!-- <transition name="mybox" > --> <ul v-if="isOpen"> <span v-for="item in model.children" :key="item.id" @click.stop="run(item)"> <tree-menu :model="item" @data-tabsvalue="tabsvalue"> </tree-menu> </span> </ul> <!-- </transition> --> </li> </template>子组件的节点
总结
以上所述是小编给大家介绍的Vue实现底部侧边工具栏的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月27日
2024年11月27日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]