vue2使用过滤器实现菜单栏文字动态显示

ops/2024/9/23 22:25:37/

文章目录

  • 前言
  • 一、过滤器filters
    • 1.data数据
    • 2.beforeCreate
  • 二、菜单栏文字动态显示


前言

左侧菜单栏有缩进,所以不同级别的菜单名可显示的文字数不同。顶部菜单栏是下拉框,所以文字是固定的


一、过滤器filters

由于filters不能使用this为undefined,所以要在过滤器中使用data或者computed的数据,有两种方式。无论哪种方式都需要在export default的上面写上let that;
参考:https://blog.csdn.net/qq_41926464/article/details/131453022

javascript"><script>
let that;
export default {name: 'test',data(){}
}
</script>

1.data数据

javascript">data() {return {test: this.testFun()};},methods: {testFun() {// data在filters之前执行that = this;},},filters: {// that就是thisellipsis(str) {console.log(that);}}

2.beforeCreate

javascript">beforeCreate() {that = this;},filters: {// that就是thisellipsis(str) {console.log(that);}}

二、菜单栏文字动态显示

<!-- 字数超长显示提示信息  这个是含有子集的菜单,就是有>的(文字超长的话>会遮盖在文字下面)。ellipsis(numTooltip)这样的话会有两个参数,第一个参数默认是要改的数据--><el-tooltip v-if="item.label.length > labelNUmnum" :content="item.label" effect="light" placement="top"><span>{{item.label | ellipsis(tip)}}</span></el-tooltip>
javascript">computed: {
// 主要针对左侧菜单有缩进,三级菜单显示4个字,默认最多展示七个字。顶部菜单无缩进/左侧菜单栏收起之后,默认展示11个字numTooltip() {let num = 7;if (this.type === 'side-item') {num -= this.level;} else {num = 11;}return num;}},
filters: {// 截取菜单文字,超出部分显示省略号// 我这里是采用的传参的方式ellipsis(str, numTooltip) {if (str.length > numTooltip) {return `${str.slice(0, numTooltip)}...`;}return str;}}

http://www.ppmy.cn/ops/21219.html

相关文章

Python_AI库 Matplotlib的应用简例:绘制与保存折线图

本文默认读者已具备以下技能&#xff1a; 熟悉Python基础语法&#xff0c;以自行阅读python代码块熟悉Vscode或其它编辑工具的应用 在数据可视化领域&#xff0c;Matplotlib无疑是一个强大的工具。它允许我们创建各种静态、动态、交互式的可视化图形&#xff0c;帮助我们更好…

gin学习1-7

package mainimport ("github.com/gin-gonic/gin""net/http" )// 响应json还有其他响应差不多可以去学 func _string(c *gin.Context) {c.String(http.StatusOK, "lalal") } func _json(c *gin.Context) {//json响应结构体type UsetInfo struct …

修改Win键盘切换语言热键

Win开始 -> 设置 -> 时间&语言 -> 输入 -> 高级键盘设置 -> 输入语言热键

Gromacs——教程学习(4)

分子动力学&#xff08;MD&#xff09;模拟&#xff0c;模拟体系构建经验总结 在一个完整的分子动力学模拟中&#xff0c;一般包括以下几个步骤&#xff1a; 1.选择将要使用的力场&#xff0c;并根据模拟体系确定力场参数&#xff0c;构建力场文件&#xff1b; 2.产生初始构型&…

如何通过大带宽优化美国站群服务器的全球访问速度?

如何通过大带宽优化美国站群服务器的全球访问速度? 在当今全球化的互联网时代&#xff0c;快速和稳定的网站访问对于企业至关重要。美国站群服务器因其地理位置和强大的网络基础设施而备受青睐&#xff0c;但要充分利用其优势&#xff0c;需要综合考虑多种因素。本文将探讨如…

Laravel 多语言项目开发

配置 Laravel 已经内置了对多语言的支持&#xff0c;可以使用 Laravel 的本地化&#xff08;localization&#xff09;功能轻松实现多语言。 首先&#xff0c;你需要创建一个语言文件存储你的翻译内容。在 resources/lang 目录下&#xff0c;创建一个你需要的语言文件夹&…

【MATLAB源码-第197期】基于matlab的粒子群算法(PSO)结合人工蜂群算法(ABC)无人机联合卡车配送仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 基于粒子群优化&#xff08;PSO&#xff09;算法的无人机联合卡车配送系统是一个高效的物流配送策略&#xff0c;旨在优化配送过程中的成本、时间和资源利用率。该系统融合了无人机和卡车的配送能力&#xff0c;通过智能算法…

c++中的链表list的模拟实现

拖更了半个月&#xff0c;我终于来填c的坑啦。上次我们说的vetcor不知道小伙伴还记得多少呢&#xff1f;今天我们要讲list的模拟实现。 目录 架构结点list表的结构 构造函数尾插push_back()尾删pop_back()计算个数&#xff1a;size()判断空empty()※迭代器问题普通迭代器迭代器…