vue头部导航动态点击处理方法
程序员文章站
2023-11-07 18:08:10
1:data中两个变量,
data: {
nav:['头条1','头条2'],
ins:0,//记录当前点击的index...
1:data中两个变量,
data: { nav:['头条1','头条2'], ins:0,//记录当前点击的index },
2:
<div v-for="(item,index) in nav" :class="index == ins ? 'swiper-slide swiper_active' : 'swiper-slide' " @click="topclick(index)">{{item}}</div>
3:mothods:
topclick:function(i){ var t=this; t.ins=i; },
ps:下面看下vue实现动态头部
h5项目中,经常用到的头部是样式是一致的,只是左右按钮和中间标题会不一致。
vue主打组件化,为了减少代码冗余,可以将头部提取成一个单独的组件。接下来考虑是否需要左右按钮,是否固定在页面上不动,中间标题是否为动态。
先写一个简单的头部,position设置成变量customfixed。左右按钮通过<slot>来控制。中间标题设置成变量customtitle通过父子组件传值过来。
设置好样式以后给customfixed和customtitle默认值和类型。
<template> <div id="header" :style="{'position' : customfixed ? 'fixed' : 'absolute'}"> <slot name="left"></slot> {{customtitle}} <slot name="right"></slot> </div> </template> <script> export default { name: "my-header", props:{ customtitle : { type : string, default : '标题' }, customfixed: { type: boolean, default: false } } } </script> <style scoped> #header{ width: 100%;height: 40px;background: #666;color: white;text-align: center;line-height: 40px; position: absolute;left:0;top: 0;z-index: 10; } #header button {height: 100%;padding: 0 50px;} #header button:nth-of-type(1){float: left} #header button:nth-of-type(2){float: right} </style> 在用到头部的地方: <template> <div id="app"> <my-header custom-title="通讯录" custom-fixed> <button @click="backbtn" slot="left">返回</button> <button @click="homebtn" slot="right">主页</button> </my-header> </div> </template>
总结
以上所述是小编给大家介绍的vue头部导航动态点击处理方法,希望对大家有所帮助