用vue写一个头部导航栏,包括搜索栏,跳转接口代码实现
时间: 2024-04-30 11:22:14 浏览: 104
Vue实现导航栏菜单
4星 · 用户满意度95%
好的,以下是简单的Vue头部导航栏代码实现。
首先,安装Vue.js和Vue Router:
```html
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
```
然后,创建Vue实例:
```javascript
const app = new Vue({
el: '#app',
data: {
search: '',
navItems: [
{ text: '首页', link: '/home' },
{ text: '新闻', link: '/news' },
{ text: '博客', link: '/blog' },
{ text: '社区', link: '/community' },
{ text: '关于', link: '/about' },
]
},
methods: {
searchHandler() {
// 处理搜索事件
}
}
})
```
这里,我们通过data来定义搜索内容和导航栏项目列表。其中,navItems数组包括每个项目的文本和链接。同时,我们定义了一个方法searchHandler,当搜索栏提交时,调用该方法处理搜索内容。
最后,我们通过HTML来渲染头部导航栏:
```html
<div id="app">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Logo</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item" v-for="item in navItems" :key="item.text">
<router-link :to="item.link" class="nav-link">{{ item.text }}</router-link>
</li>
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="搜索" aria-label="Search" v-model="search" @keydown.enter="searchHandler">
<button class="btn btn-outline-success my-2 my-sm-0" type="button" @click="searchHandler">搜索</button>
</form>
</div>
</nav>
</div>
```
这里,我们使用了Bootstrap的navbar组件来构建头部导航栏。使用v-for指令遍历导航栏项目列表,并使用router-link来创建路由链接。搜索栏使用了v-model指令,绑定了搜索内容变量search。当提交搜索时,我们通过@keydown.enter和@click绑定了searchHandler方法。
阅读全文