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向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
javascript拖拽上传类库DropzoneJS使用方法
Dec 05 Javascript
Javascript中innerHTML用法实例分析
Jan 12 Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 Javascript
详解webpack自动生成html页面
Jun 29 Javascript
浅谈sass在vue注意的地方
Aug 10 Javascript
详解es6超好用的语法糖Decorator
Aug 01 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
Nov 08 Javascript
Vue项目中ESlint规范示例代码
Jul 04 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
Mar 12 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
hessian 在PHP中的使用介绍
2010/12/13 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
javascript textarea光标定位方法(兼容IE和FF)
2011/03/12 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
win7 下搭建sublime的python开发环境的配置方法
2014/06/18 Python
python实现查询IP地址所在地
2015/03/29 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
django之session与分页(实例讲解)
2017/11/13 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
python中的常量和变量代码详解
2018/07/25 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
亚马逊新加坡官方网站:Amazon.sg
2020/03/25 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
团代会主持词
2014/04/02 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
个人原因辞职信模板
2015/05/13 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js