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 事件对象属性小结
Apr 27 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
使用BootStrap进行轮播图的制作
Jan 06 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
Nov 05 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
JavaScript ES 模块的使用
Nov 12 Javascript
vue编写简单的购物车功能
Jan 08 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
php表单处理操作
2017/11/16 PHP
PHP实现微信提现功能
2018/09/30 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
js Math 对象的方法
2013/09/01 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
python绘制规则网络图形实例
2019/12/09 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
PHP面试题大全
2015/10/16 面试题
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
造价工程师个人求职信
2013/09/21 职场文书
初婚初育证明
2014/01/14 职场文书
高二生物教学反思
2014/01/27 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
新人入职感言
2015/07/31 职场文书
python基础之匿名函数详解
2021/04/21 Python