当前位置: 首页 > news >正文

网站地图生成器抖音代运营公司经营范围

网站地图生成器,抖音代运营公司经营范围,环艺做网站,南昌做购物网站的公司首先把tabbar中的元素写在一个list中用v-for进行渲染 用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。 利用typescript特性进行类型定义,可以省去很多麻烦 import { reactive } from "vue" imp…

首先把tabbar中的元素写在一个list中用v-for进行渲染
用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。
利用typescript特性进行类型定义,可以省去很多麻烦

import { reactive } from "vue"
import { Images } from "src/static/images"
export interface Tabbar {iconPath: string,selectedIconPath: string,text: string,url: string
}export const tabBarList = reactive<Tabbar[]>([{iconPath: Images.Home,selectedIconPath: Images.HomeActive,text: '首页',url: '/pages/home/home',},{iconPath: Images.Personal,selectedIconPath: Images.PersonalActive,text: '我的',url: '/pages/personal/personal',}
])
<template><view class="tabbar-container"><view v-for="(item, index) in tabBarList" :key="index" :url="item.url" :class="{ 'active': activeIndex === index }"><view class="icon-container" @click="switchTab(index)"><view class="icon"><image class="icon-image" :src="activeIndex === index ? item.selectedIconPath : item.iconPath" /></view><view class="text">{{ item.text }}</view></view></view></view>
</template>

渲染好之后,tabbar有个点击跳转页面,以及点亮图标
点亮图标,这边的currentPath一定注意格式,打印出getCurrentPages()[0].route就会发现它是pages/personal/personal,而不是/pages/personal/personal

//vue
<view class="icon"><image class="icon-image" :src="activeIndex === index ? item.selectedIconPath : item.iconPath" /></view>//jsconst currentPath =  "/" + getCurrentPages()[0].route;
tabBarList.forEach((item, index) => {if (item.url === currentPath) {store.activeIndex = index;uni.switchTab({url: item.url,})}
})

跳转:由于是page页面,因此必须用switchtab方法而不能用nacigatorTo;这边的index及页面序号必须存储在pinia库中,否则界面一刷新它就不变了。

function switchTab(index) {if (index === store.activeIndex) {return}store.setActiveIndex(index)uni.switchTab({url: tabBarList[index].url})
}
import { defineStore } from 'pinia'interface State {activeIndex: number;sceneId: number;isLogin: boolean;nickname: string;avatar: string
}export const useTabbarStore = defineStore('store', {state: (): State => {return { activeIndex: 0,isLogin: false,sceneId: 1,nickname: '立即登录',avatar: 'https://bestwellai-aigo.oss-cn-shanghai.aliyuncs.com/icon/personal/personal_avatar.svg' }},actions: {setActiveIndex(index) {this.activeIndex = index;},setUsername(nickname,avatar){this.nickname = nickname;this.avatar = avatar;},setSceneId(sceneId) {this.sceneId = sceneId;}},
})

完成效果:自定义的效果就是样式可以自己写,非常方便;以及一个小程序需要三四种形式的tabbar时可以这样操作。
在这里插入图片描述

http://www.yayakq.cn/news/866740/

相关文章:

  • 被墙的网站有哪些做ppt的图片素材网站有哪些
  • 大连网站开发选领超科技wordpress 4.5.3 ueditor
  • 做织梦网站之前要新建数据库吗c语言开发网站
  • 网站信息系统设计程序员开发软件
  • 网站设计作品案例讲解手机网站用什么开发好
  • 绵阳住房和城乡建设厅官方网站wordpress商品分销
  • 宜春代做网站男科治疗价目表
  • 网站软件下载大全证书查询网免费查询
  • 朝阳公园网站建设网站开发需要什么步骤
  • 河南省建设人才信息网站wp网站打开太慢怎么做优化
  • 卖掉的网站了对方用来做违法海外推广软件
  • 为什么自己花钱做的网站竟然不是自己的?(wordpress建站双语
  • 云南城市建设职业学校官方网站做网站项目的流程
  • 青岛网站建设青岛博采网络装修公司宣传册设计样本
  • 个人网站推广平台大全在线做app的网站
  • 大兴网站开发网站建设咨询wordpress怎么私人媒体库
  • 常州在线制作网站专业建设的意义
  • 合肥网站建设市场厦门网站设计推广公司
  • 网站没备案能访问吗正规现货交易平台app
  • 公司高端网站建设衡阳网站开发培训
  • 网站效果图怎么做建筑网片的用途有哪些
  • 三拼域名做网站嘉兴建站软件
  • 关于加强网站建设的建议在网站上保存网址怎么做
  • 张家港设计网站做招聘网站的客户想退钱
  • 建设部网站注册师免费设计网站素材
  • 网站界面技术方案网站建设方案对比
  • 电子商务毕业设计 网站建设wordpress安装流程
  • 企业电商网站建设河北君卓展览装饰有限公司
  • 企业网站维护合同个人网站系统
  • 电子政务门户网站建设的意义建设大型商城