<view wx:for='{{navbar}}' wx:key='index' bindtap='change' class="{{index==selected?'active':''}}">{{item}}</view>不用navbar,用category,该怎么写
时间: 2024-09-23 13:14:31 浏览: 27
微信小程序入门实例:navbar、swiper 应用
如果你想用`category`代替`navbar`并在每个项上添加点击事件并改变选中状态,你可以这样做:
```html
<template>
<view wx:for="let item of category" :key="item.id" @tap="changeItem(item)" :class="{ 'active': isSelected(item) }">
{{ item }}
</view>
</template>
<script>
export default {
data() {
return {
selected: null,
category: [] // 这里假设category是你数据里的数组
};
},
methods: {
changeItem(item) {
this.selected = item; // 当点击某一项时,设置选中项
// 如果有额外的操作,比如更新状态、路由跳转等,也可以在这里添加
},
isSelected(item) {
return item === this.selected; // 检查当前项是否选中
}
}
};
</script>
```
这里的`changeItem`方法会在点击任一`category`项时被调用,将选中的项设置为你希望的对象。`isSelected`方法用于判断当前选中项是否匹配当前点击的`item`。每个`<view>`的`class`属性会动态地根据`isSelected`的结果来切换`active`类名,从而改变样式表示选中状态。
阅读全文