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中的end()使用方法
Jul 10 Javascript
setTimeout自动触发一个js的方法
Jan 15 Javascript
JavaScript实现节点的删除与序号重建实例
Aug 05 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
Aug 20 Javascript
详解Angular cli配置过程记录
Nov 07 Javascript
vue之组件内监控$store中定义变量的变化详解
Nov 08 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 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
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
phpstorm配置Xdebug进行调试PHP教程
2014/12/01 PHP
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
python sort、sorted高级排序技巧
2014/11/21 Python
十个Python程序员易犯的错误
2015/12/15 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python列表切片常用操作实例解析
2020/03/10 Python
python excel多行合并的方法
2020/12/09 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
茶叶生产计划书
2014/01/10 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
债务纠纷起诉书
2015/05/20 职场文书
运动会主持词大全
2015/07/02 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
redis实现共同好友的思路详解
2021/05/26 Redis
MySQL去除密码登录告警的方法
2022/04/20 MySQL
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers