前端Vue自定义顶部导航栏navBar 导航栏搜索框searchBar 导航栏右侧菜单按钮button

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。

组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等 。

本文给大家介绍的组件:

前端Vue自定义顶部导航栏navBar 导航栏搜索框searchBar 导航栏右侧菜单按钮button,

效果图如下:

format,png

format,png

format,png

# cc-headerSearch

#### 使用方法

```使用方法

<!-- icon: 右侧菜单图标 @searchClick:搜索点击  @rigIconClick:右侧菜单点击 -->

<cc-headerSearch icon="../../static/scan.png" @searchClick="searchClick"

@rigIconClick="rigIconClick"></cc-headerSearch>

```

#### HTML代码实现部分

```html

<template>

<view class="content">

<!-- icon: 右侧菜单图标 @searchClick:搜索点击  @rigIconClick:右侧菜单点击 -->

<cc-headerSearch icon="../../static/scan.png" @searchClick="searchClick"

@rigIconClick="rigIconClick"></cc-headerSearch>

<!--  proList: 条目数组数据  goProDetail:条目点击事件跳转(实现了点击条目数据传值)-->

<cc-waterListView :proList="projectList" @click="goProDetail"></cc-waterListView>

</view>

</template>

<script>

export default {

data() {

return {

// 列表数组

projectList: []

}

},

onLoad() {

this.requestData();

},

methods: {

// 列表条目点击事件

goProDetail(item) {

console.log("条目数据 = " + JSON.stringify(item));

uni.showModal({

title: '选择条目',

content: '选择条目数据 = ' + JSON.stringify(item)

})

},

requestData() {

// 模拟请求参数设置

let reqData = {

'area': '',

"pageSize": 10,

"pageNo": this.curPageNum

}

// 模拟请求接口

this.totalNum = 39;

this.projectList = [];

let imgArr = [

'https://images.pexels.com/photos/4967533/pexels-photo-4967533.jpeg?auto=compress&cs=tinysrgb&w=800',

'https://cdn.pixabay.com/photo/2014/07/08/14/14/resolution-387446_1280.jpg',

'https://images.pexels.com/photos/5202162/pexels-photo-5202162.jpeg?auto=compress&cs=tinysrgb&w=800',

'https://images.pexels.com/photos/4967533/pexels-photo-4967533.jpeg?auto=compress&cs=tinysrgb&w=800',

'https://images.pexels.com/photos/8679339/pexels-photo-8679339.jpeg?auto=compress&cs=tinysrgb&w=800',

'https://images.pexels.com/photos/209339/pexels-photo-209339.jpeg?auto=compress&cs=tinysrgb&w=800'

]

let nameArr = ['冰糖心苹果 红富士大果出售 应季水果 繁荣种植园', '农鲜洛川红富士苹果16枚,单果160g,新鲜饱满水分充足', '甜醉了 烟台苹果栖霞红富士新鲜水...',

'惠寻 山东烟台红富士苹果12枚 果径...'

]

for (let i = 0; i < 20; i++) {

this.projectList.push({

'proImg': imgArr[i % 6],

'proName': nameArr[i % 4],

'proDetail': '我是产品详情' + i,

'proPrice': 60 + 6 * i + '元',

'status': (i % 3 == 0) ? '618' : '',

'id': i + ''

});

}

},

searchClick: function() {

console.log("点击了搜索框");

uni.showModal({

title: '温馨提示',

content: '点击搜索输入框'

})

},

rigIconClick() {

console.log("点击了右侧图标");

uni.showModal({

title: '温馨提示',

content: '点击了右侧扫一扫'

})

}

}

}

</script>

<style>

page {

background-color: #f2f2f2;

}

.content {

display: flex;

flex-direction: column;

}

</style>

```

阅读全文下载完整组件代码请关注微信公众号: 前端组件开发

d848d5658a07453c843277846948c608.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Vue项目中创建一个顶部导航栏,你可以按照以下步骤进行操作: 1. 在Vue项目的`src`文件夹中,创建一个名为`components`的文件夹(如果还没有的话)。 2. 在`components`文件夹中创建一个名为`Navbar.vue`的Vue组件文件。 3. 在`Navbar.vue`文件中,编写你的导航栏组件的代码。例如,你可以使用`v-for`指令来循环遍历导航项,并使用`router-link`组件来实现导航链接。以下是一个简单的示例: ```html <template> <nav> <ul> <li v-for="item in navItems" :key="item.id"> <router-link :to="item.path">{{ item.label }}</router-link> </li> </ul> </nav> </template> <script> export default { data() { return { navItems: [ { id: 1, label: 'Home', path: '/' }, { id: 2, label: 'About', path: '/about' }, { id: 3, label: 'Contact', path: '/contact' }, ], }; }, }; </script> <style scoped> nav { background-color: #f0f0f0; padding: 10px; } ul { list-style-type: none; margin: 0; padding: 0; } li { display: inline-block; margin-right: 10px; } a { text-decoration: none; color: #333; } </style> ``` 在这个示例中,我们使用了一个简单的导航栏,其中包含了三个导航项(Home、About和Contact),点击导航项会跳转到相应的路由页面。 4. 在你的Vue项目的主组件(一般是`App.vue`)中,使用`<navbar></navbar>`标签引入刚刚创建的`Navbar.vue`组件。 ```html <template> <div> <navbar></navbar> <!-- 其他内容 --> </div> </template> <script> import Navbar from './components/Navbar.vue'; export default { components: { Navbar, }, }; </script> ``` 5. 最后,根据你的项目需要,对导航栏进行样式调整。 这样,你就成功地创建了一个简单的顶部导航栏。你可以根据自己的需求对导航栏进行进一步的定制和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端组件开发

你的钟意将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值