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 相关文章推荐
html 锁定页面(js遮罩层弹出div效果)
Oct 27 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
javascript实现淘宝幻灯片广告展示效果
Apr 27 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
Javascript中prototype的使用详解
Jun 18 Javascript
简单模拟node.js中require的加载机制
Oct 27 Javascript
jquery广告无缝轮播实例
Jan 05 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
Bootstrap实现翻页效果
Nov 27 Javascript
JavaScript字符串转数字的简单实现方法
Nov 27 Javascript
一步一步的了解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采集相关教程之一 CURL函数库
2010/02/15 PHP
PHP根据传入参数合并多个JS和CSS文件的简单实现
2014/06/13 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
python发送伪造的arp请求
2014/01/09 Python
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
python实现二叉查找树实例代码
2018/02/08 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
2020/04/23 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
医科大学毕业生自荐信
2014/02/03 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
安全教育培训制度
2015/08/06 职场文书
学雷锋主题班会教案
2015/08/13 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
Python OpenCV形态学运算示例详解
2022/04/07 Python
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python