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 相关文章推荐
javascript Excel操作知识点
Apr 24 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
浅谈Javascript实现继承的方法
Jul 06 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
vue跨域解决方法
Oct 15 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
May 15 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
基于Vue实现图片在指定区域内移动的思路详解
Nov 11 Javascript
微信小程序表单验证WxValidate的使用
Nov 27 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
Jul 19 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 获取远程文件大小的3种解决方法
2013/07/11 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
laravel自定义分页效果
2017/07/23 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
window.location.hash 使用说明
2010/11/08 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
Python Matplotlib库入门指南
2015/05/18 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
java判断三位数的实例讲解
2019/06/10 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
Python 读取有公式cell的结果内容实例方法
2020/02/17 Python
Spring Boot中使用IntelliJ IDEA插件EasyCode一键生成代码详细方法
2020/03/20 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
汉语言文学毕业求职信
2014/07/17 职场文书
信仰心得体会
2014/09/05 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2014年班组工作总结
2014/11/20 职场文书
写给女朋友的保证书
2015/05/09 职场文书
答谢酒会主持词
2015/07/02 职场文书
vue使用element-ui按需引入
2022/05/20 Vue.js
讨论nginx location 顺序问题
2022/05/30 Servers