vue的过滤器filter实例详解


Posted in Javascript onSeptember 17, 2018

前记:

排版记录,点耽误时间,我就简单的来,下面是一个vue 过滤器的写法,demo 演示,限制一个字符串的长度。

vue filter 的官网介绍 https://cn.vuejs.org/v2/guide/filters.html

vue的过滤器filter实例详解

下面就具体拿自己的一个例子介绍:

某个filter.js

// 限制汉字的个数
export const limitWordLength = Vue.filter('limitWordLength', (str, length, sufix) => {
 /* eslint-disable */
 let r = /[^\x00-\xff]/g // 双字节正则
 let m
 if (str.replace(r, '**').length > length) {
  m = Math.floor(length / 2)
  for (let i = m, l = str.length; i < l; i++) {
   if (str.substr(0, i).replace(r, '**').length >= length) {
    return str.substr(0, i) + sufix
   }
  }
 }
 return str
})

然后在某一个组件中引用

import { limitWordLength } from '../filter.js'

使用:

<p class="news-cont">{{news.summary | limitWordLength(26, '...')}}</p>

过滤器  limitWordLength 传递三个参数,第一个默认是  news.summary, 第二个是 26 ,第三个是 '...', 如果这个过滤器方法要处理的东西 ,只要一个  news.summary 参数就可以的话,后面的参数也可以不传,直接这样

<p class="news-cont">{{news.summary | limitWordLength}}</p>

效果是这样的:

vue的过滤器filter实例详解

限制是26个字符,对应的汉子就是13个,如果超出就用 ... 替换。

当然,在实际的应用中,想这种限制汉字的个数,达到前端展示的话,可以用下面的css ,替换,目前在主流的设备上是可以兼容的,如果不是非常兼容低版本的,可直接用css代替过滤器:

.news-cont {
  font-size: 12px;
  color: #747474;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
 }

总结

以上所述是小编给大家介绍的vue的过滤器filter实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery渐变发光导航菜单的实例代码
Mar 27 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
JavaScript中的关联数组问题
Mar 04 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
Javascript中从学习bind到实现bind的过程
Jan 05 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
深入了解js原型模式
May 30 Javascript
微信小程序与webview交互实现支付功能
Jun 07 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
Preload基础使用方法详解
Feb 03 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 #Javascript
React Router V4使用指南(精讲)
Sep 17 #Javascript
关于vue编译版本引入的问题的解决
Sep 17 #Javascript
理顺8个版本vue的区别(小结)
Sep 17 #Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 #Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
Sep 17 #Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
Sep 17 #Javascript
You might like
生成php程序的php代码
2008/04/07 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python性能优化技巧
2015/03/09 Python
Python图片裁剪实例代码(如头像裁剪)
2017/06/21 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
小学语文教师研修日志
2015/11/13 职场文书
Django框架中表单的用法
2022/06/10 Python