vue的过滤器filter

前记: 

  排版记录,点耽误时间,我就简单的来,下面是一个vue 过滤器的写法,demo 演示,限制一个字符串的长度。

vue filter 的官网介绍 https://cn.vuejs.org/v2/guide/filters.html

下面就具体拿自己的一个例子介绍:

某个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>

效果是这样的:

限制是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;
 }

原文地址:https://www.cnblogs.com/adouwt/p/9660862.html

时间: 2024-08-29 20:02:35

vue的过滤器filter的相关文章

vue基础----过滤器filter

1.用的场景:一个功能在每个组件都能用,而computed虽然有缓存,但不能用在每一个组件,需要的话的每一个都需要写. 2.特点:改变数据的展示形式,不改变原有的形式 分为全局与局部的 <div id="app"> <!--{{msg | upper}} --> {{msg | upper("l")}} </div> <script src="./node_modules/vue/dist/vue.js"

Vue入门三、过滤器filter

Vue中过滤器有两种:1.全局过滤器Vue.filter('过滤器名',过滤方式fn);2.组件内过滤器filters:{'过滤器名',过滤方式fn}使用:{{msg|过滤器方法名}} 一.局部过滤器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head>

Vue自定义过滤器

gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson05 一 自定义过滤器(注册在Vue全局) 注意事项: (1)全局方法 Vue.filter() 注册一个自定义过滤器,必须放在Vue实例化前面 (2) 过滤器函数始终以表达式的值作为第一个参数.带引号的参数视为字符串,而不带引号的参数按表达式计算 (3)可以设置两个过滤器参数,前提是这两个过滤器处理的不冲突 (4)用户从input输入的数据在回传到model之前也

VUE:过滤器及日期格式化moment库

VUE:过滤器及日期格式化moment库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>11_过滤器</title> </head> <body> <!-- 1)定义过滤器 Vue.filter(filterName,function(value[arg1,arg2,...])){ //进行一定的数组处理 ret

vue.js 过滤器

vue的过滤器可以用来对数据进行格式化 1.过滤器注册 过滤器注册分为全局注册和局部注册 (1)全局注册:所有的组件中都能使用 语法:Vue.filter(过滤器名称,回调函数) 回调函数的参数就是需要过滤处理的数据 //入口文件 main.js import Vue from 'vue' import App from './App' import router from './router' Vue.filter('toUpperCase',function(val){ return val

【JavaWeb学习】过滤器Filter

一.简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. Servlet API中提供了一个Filter接口,开发web应用时,如果编写的Java类实现了这个接口,则把这个java类称之为过滤器Filter.通过Filter技

过滤器Filter

什么是过滤器 过滤器Filter其实就是Servlet,只不过它的职责是在过滤信息,在请求进入核心servlet时候的过滤,在响应发送给客户端时候的过滤. 使用过滤器 要想创建自己的Filter,只需要实现Filter接口,重写里面的init方法.doFilter方法.destroy方法.init方法在你进行过滤的时候的初始化方法,doFilter方法就是你的核心过滤方法,里面有两个参数,一个是ServletRequest,另外一个是ServletResponse,前面一个代表的是请求,后面一个

JSP内置对象的作用域,及过滤器filter

pageContext:只要跳转页面,就不存在. request, 只要在当前页面就存在 session, 只有浏览器关闭,才不存在. application,只有服务器关闭后,才不存在. 如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里. 从把变量放到pageContext开始,到jsp页面结束,你都可以使用这个变量. 如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期. 所谓请求周期,就是指从htt

javaweb-Servlet过滤器Filter

一.在javaweb学习中javaweb过滤器是一个非常重要的学习内容在web开发阶段的中Javaweb过滤器可以很好的优化代码,同时减少许多不必要的代码,将代码很好的集合在一起,这样的操作可以减少许多不必要的代码,同时大大的减少程序的运行. 二.正对于javaweb的过滤器Filter可以从以下几个方面进行讲解 1.Javaweb的概念 javaweb是一个服务器组键,他可以截取用户端的请求以及响应的信息,并且对信息进行过滤. 2.过滤器的api  Servlet过滤器API包含了3个接口,它