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(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
推荐10 个很棒的 jQuery 特效代码
Oct 04 Javascript
JavaScript常用函数工具集:lao-utils
Mar 01 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
May 20 jQuery
vue router2.0二级路由的简单使用
Jul 05 Javascript
小程序指纹验证的实现代码
Dec 04 Javascript
angular中如何绑定iframe中src的方法
Feb 01 Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 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下的浮点运算不准的解决方法
2016/10/27 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
JavaScript实现穷举排列(permutation)算法谜题解答
2014/12/29 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
2017/06/19 Javascript
js 奇葩技巧之隐藏代码
2017/08/11 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
在Mac OS上搭建Python的开发环境
2015/12/24 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Tensorflow累加的实现案例
2020/02/05 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
业务部门经理岗位职责
2014/02/23 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
研究生导师推荐信
2015/03/25 职场文书
高一语文教学反思
2016/02/16 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
python热力图实现的完整实例
2022/06/25 Python