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 相关文章推荐
js时间日期格式化封装函数
Dec 02 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
Sep 06 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
jQuery内容筛选选择器实例代码
Feb 06 Javascript
移动端利用H5实现压缩图片上传功能
Mar 29 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python装饰器简单用法实例小结
2018/12/03 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
农民致富事迹材料
2014/01/23 职场文书
小区门卫值班制度
2014/01/24 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
抵押贷款承诺书
2014/05/30 职场文书
关心下一代工作先进事迹
2014/08/15 职场文书
导游词之西安骊山
2019/12/20 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
Go语言空白表示符_的实例用法
2021/07/04 Golang
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js