Vue实现下拉菜单

1、所实现的具体功能效果

在这里插入图片描述

2、具体功能实现代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>下拉菜单</title>
        <style type="text/css">
            body {
                width: 600px;
            }
            ul {
                list-style-type: none;
            }
            #app > ul > li {
                float: left;
                text-align: center;
                position: relative;
            }
            a {
                text-decoration: none;
                display: block;
                color: #fff;
                width: 120px;
                height: 40px;
                line-height: 40px;
                border: 1px solid #fff;
                border: 1px 1px 0 0;
                background-color: #255f9e;
            }
            a:hover {
                background-color: burlywood;
            }
            #app > ul > li ul {
                position: absolute;
                left: -40px;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <ul>
                <li v-for="menu in menus" @mouseover="menu.show = !menu.show" @mouseout="menu.show = !menu.show">
                    <a :href="menu.url">{{menu.name}}</a>
                    <ul v-show="menu.show">
                        <li v-for="subMenu in menu.subMenus">
                            <a :href="subMenu.url">{{subMenu.name}}</a>
                        </li>
                    </ul>
                </li>
            </ul>
        </div>
        <script src="../../plugings/vue.js"></script>
        <script>
            new Vue({
                el: '#app',
                data: {
                    menus: [
                        {
                            name: '我的淘宝', url: '#', show: false, subMenus: [
                                {name: '已买宝贝', url: '#'},
                                {name: '已卖宝贝', url: '#'}
                            ]
                        },
                        {
                            name: '收藏夹', url: '#', show:false, subMenus: [
                                {name: '收藏宝贝', url: '#'},
                                {name: '收藏店铺', url: '#'}
                            ]
                        }
                    ]
                }
            })
        </script>
    </body>
</html>
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下拉菜单可以使用HTML和Vue实现,从数据库中调用数据可以使用后端技术(如PHP、Node.js等)来完成。 首先,在HTML中可以使用`<select>`标签来创建下拉菜单,例如: ```html <select> <option value="1">选项1</option> <option value="2">选项2</option> <option value="3">选项3</option> </select> ``` 这里的`<option>`标签是下拉菜单的选项,`value`属性是选项的值,`<select>`标签的`name`属性可以用来提交表单数据。 接着,我们可以使用Vue来动态生成选项。首先,在HTML中定义一个Vue实例: ```html <div id="app"> <select v-model="selected"> <option v-for="item in options" :value="item.id">{{ item.name }}</option> </select> </div> ``` 这里的`v-for`指令可以遍历`options`数组中的数据,`:value`和`{{ item.name }}`分别表示选项的值和展示的文本。`v-model`指令可以绑定选中的值到Vue实例的`selected`属性。 然后,在Vue实例中定义`options`数组,并从数据库中获取数据: ```javascript var app = new Vue({ el: '#app', data: { selected: '', options: [] }, mounted: function () { var self = this; axios.get('/api/options') .then(function (response) { self.options = response.data; }) .catch(function (error) { console.log(error); }); } }); ``` 这里使用了Axios库来发起HTTP请求,从`/api/options`接口获取数据,然后将数据赋值给`options`数组。 最后,在后端代码中提供`/api/options`接口,从数据库中获取数据并返回JSON格式的数据即可。 这样就可以实现从数据库中获取数据并生成下拉菜单了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值