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蒙版控件实现代码
Dec 08 Javascript
js实现文本框中焦点在最后位置
Mar 04 Javascript
JQuery动画animate的stop方法使用详解
May 09 Javascript
javascript制作sql转换为stringBuffer的小工具
Apr 03 Javascript
jQuery中dom元素上绑定的事件详解
Apr 24 Javascript
javascript获取重复次数最多的字符
Jul 08 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
react native实现往服务器上传网络图片的实例
Aug 07 Javascript
浅谈webpack性能榨汁机(打包速度优化)
Jan 09 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
vue项目在webpack2实现移动端字体自适配功能
Jun 02 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
2017/04/01 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
JavaScript实现时间表动态效果
2017/07/15 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python插入排序算法的实现代码
2013/11/21 Python
Python中的多重装饰器
2015/04/11 Python
如何将python中的List转化成dictionary
2016/08/15 Python
Python文件监听工具pyinotify与watchdog实例
2018/10/15 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
HTML5 HTMLCollection和NodeList的区别详解
2020/04/29 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
行政前台岗位职责
2013/12/04 职场文书
社区党员先进事迹
2014/01/22 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
孟佩杰观后感
2015/06/17 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技