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 相关文章推荐
ie浏览器使用js导出网页到excel并打印
Mar 11 Javascript
jQuery中:not选择器用法实例
Dec 30 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
javascript设计模式之对象工厂函数与构造函数详解
Jul 30 Javascript
jquery轮播的实现方式 附完整实例
Jul 28 Javascript
深入理解(function(){... })();
Aug 16 Javascript
微信小程序 label 组件详解及简单实例
Jan 10 Javascript
详解利用Angular实现多团队模块化SPA开发框架
Nov 27 Javascript
Vue的轮播图组件实现方法
Mar 03 Javascript
ES6关于Promise的用法详解
May 07 Javascript
js中数组对象去重的两种方法
Jan 18 Javascript
Vue实现剪贴板复制功能
Dec 31 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模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
php中heredoc与nowdoc介绍
2014/12/25 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
webpack4.0打包优化策略整理小结
2018/03/30 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
js实现全选和全不选
2020/07/28 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
Python将图片转换为字符画的方法
2020/06/16 Python
python并发和异步编程实例
2018/11/15 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
《恐龙》教学反思
2014/04/27 职场文书
大三学习计划书范文
2014/05/02 职场文书
学生个人评语大全
2015/01/04 职场文书
学校隐患排查制度
2015/08/05 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python