vue之过滤器

在vue2.0以前的版本中vue内置的过滤器,但是因为缺乏纯JavaScript的灵活性,现在vue2.0版本中已经删除了内置过滤器,所以需要自己注册过滤器,我们可以定义本地(在某一个template里面定义filter)过滤器,或者定义全局(global)过滤器。需要提醒的是,如果你定义了一个全局过滤器,它必须在Vue实列之前定义,以上两种方式,我们将传递value作为参数。

全局过滤器

下面定义一个全局过滤器,用于在数据前加上大写的VUE。需要注意的是,过滤器定义必须始终位于Vue实例之上,否则会报错。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <style>
    </style>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">{{message | toAdd}}</div>
    <script>
        Vue.filter("toAdd",function(value){
            return ‘VUE‘ + value
        })
        var demo = new Vue({
            el: ‘#demo‘,
            data: {
            message: ‘过滤器‘,
            }
        })
    </script>
</body>
</html>

本地过滤器

本地过滤器存储在vue组件中,作为filters属性中的函数,我们可以注册多个过滤器存储在其中。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <style>
    </style>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
        <p>{{message | Reverse}}</p>
        <p>{{message | Length}}</p>
    </div>
    <script>
        var demo = new Vue({
            el: ‘#demo‘,
            data: {
                message: ‘过滤器‘,
            },
             filters: {
                Reverse: function (value) {
                    if (!value) return ‘‘
                    value = value.toString()
                    return value.split(‘‘).reverse().join(‘‘)
                },
                Length: function(value){
                    return value.length
                } ,
            },
        })
    </script>
</body>
</html>

过滤器除了单独使用之外,我们还可以对过滤器进行串联使用,也可以在v-bind中使用过滤器。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
    <style>
        .color{
            color:red;
        }
    </style>
    <script src="./vue.js"></script>
</head>
<body>
    <div id="demo">
        <p>{{message | Reverse | Length}}</p>
        <div :class="raw | format">在v-bind表达式中使用过滤器</div>
    </div>
    <script>
        var demo = new Vue({
            el: ‘#demo‘,
            data: {
                message: ‘过滤器‘,
                raw:‘roloc‘
            },
             filters: {
                Reverse: function (value) {
                    if (!value) return ‘‘
                    value = value.toString()
                    return value.split(‘‘).reverse().join(‘‘)
                },
                Length: function(value){
                    return value+value.length
                } ,
                format:function(value){
            return value.split(‘‘).reverse().join(‘‘)
          }
            },
        })
    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/yuyujuan/p/9783652.html

时间: 2024-10-08 01:23:12

vue之过滤器的相关文章

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的过滤器,生命周期的钩子函数和使用Vue-router

一.过滤器 1.局部过滤器 在当前组件内部使用过滤器 给某些数据 添油加醋 //声明 filters:{ '过滤器的名字':function(val,a,b){ //a 就是alax ,val就是当前的数据 } } //使用 管道符 数据 | 过滤器的名字('alex','wusir') <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8">

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

vue(2) -- 过滤器

1.vue 提供的过滤器 debounce  配合事件,延迟执行 <div id="box"> <input type="text" @keyup="show | debounce 200"> </div> <script> new Vue({ el:"#box", data:{ }, methods:{ show:function (){ alert(1); } } }) &l

vue 自定义过滤器

vue允许自定义过滤器,被用作一些常见文本的格式化.由"管道符"指示,格式如下: <!-- 在两个大括号中 --> {{message | capitalize}} <!-- 在 v-bind指令中 --> <div v-bind:id="rawId | formatId"></div> 实例如下: <div id="app"> {{ time | formatTime}} </d

vue自定义过滤器的创建和使用

过滤器:生活中有很多例子,净水器 空气净化器 .过滤器的作用:实现数据的筛选.过滤.格式化. vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了. 1.过滤器创建 过滤器的本质 是一个有参数 有返回值的方法 new Vue({ filters:{ myCurrency:function(myInput){ return 处理后的数据 } } }) 2.过滤器使用语法: <any>{{表达式 | 过滤器}}</any>举个例子: <h1>

Vue.filter 过滤器

[过滤器] import Vue from '../../../node_modules/vue/dist/vue'; // 后台数据与前端展示数据需要换算,与后台交互的请求的参数是不需要.假如说前端展示价格是按照元来算,而后台提供的数据是按分来算,在提交给后台,还是按照分来算. // 全局过滤器 Vue.filter('YuanToFen', function (value) { if (!Number(value)) return 0; value = Number(value); retu

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) => { /* es