vue过滤器用法实例分析


Posted in Javascript onMarch 15, 2019

本文实例讲述了vue过滤器用法。分享给大家供大家参考,具体如下:

过滤器:

vue提供过滤器:

capitalize uppercase currency....

<div id="box">
    {{msg|currency ¥}}
  </div>

debounce 配合事件,延迟执行

<div id="box">
    <input type="text" @keyup="show | debounce 2000">
  </div>

数据配合使用过滤器:

limitBy 限制几个
limitBy 参数(取几个)
limitBy 取几个 从哪开始

<div id="box">
    <ul>
      <!--取2个-->
      <li v-for="val in arr | limitBy 2">
        {{val}}
      </li>
      <br/>
      <br/>
      <!--取2个,从第arr.length-2个开始取-->
      <li v-for="val in arr | limitBy 2 arr.length-2">
        {{val}}
      </li>
    </ul>
  </div>
  <script>
    var vm=new Vue({
      data:{
        arr:[1,2,3,4,5]
      },
      methods:{
      }
    }).$mount('#box');
  </script>

filterBy 过滤数据
filterBy '谁'

<div id="box">
    <input type="text" v-model="a">
    <ul>
      <li v-for="val in arr | filterBy a">
        {{val}}
      </li>
    </ul>
  </div>
  <script>
    var vm=new Vue({
      data:{
        arr:['width','height','background','orange'],
        a:''
      },
      methods:{
      }
    }).$mount('#box');
  </script>

orderBy 排序

orderBy 谁 1/-1
1 -> 正序
2 -> 倒序

<div id="box">
    <input type="text" v-model="a">
    <ul>
      <li v-for="val in arr | orderBy -1">
        {{val}}
      </li>
    </ul>
  </div>
  <script>
    var vm=new Vue({
      data:{
        arr:['width','height','background','orange'],
        a:''
      },
      methods:{
      }
    }).$mount('#box');
  </script>

自定义过滤器: model ->过滤 -> view

Vue.filter(name,function(input){
});
<div id="box">
    {{a | toDou 1 2}}
  </div>
  <script>
    Vue.filter('toDou',function(input,a,b){
      alert(a+','+b);
      return input<10?'0'+input:''+input;
    });
    var vm=new Vue({
      data:{
        a:9
      },
      methods:{
      }
    }).$mount('#box');
  </script>

vue过滤器用法实例分析

时间转化器

<div id="box">
    {{a | date}}
  </div>
  <script>
    Vue.filter('date',function(input){
      var oDate=new Date(input);
      return oDate.getFullYear()+'-'+(oDate.getMonth()+1)+'-'+oDate.getDate()+' '+oDate.getHours()+':'+oDate.getMinutes()+':'+oDate.getSeconds();
    });
    var vm=new Vue({
      data:{
        a:Date.now()//返回1970 年 1 月 1日午夜与当前日期和时间之间的毫秒数。
      },
      methods:{
      }
    }).$mount('#box');
  </script>

过滤html标记

双向过滤器:*

Vue.filter('filterHtml',{
read:function(input){ //model-view


return input.replace(/<[^<+]>/g,'');

},

write:function(val){ //view -> model


return val;

}
});

数据 -> 视图

model -> view

view -> model

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
  </style>
  <script src="vue.js"></script>
  <script>
    //<h2>welcome</h2>
    Vue.filter('filterHtml',{
      read:function(input){ //model-view
        alert(1);
        return input.replace(/<[^<]+>/g,'');
      },
      write:function(val){ //view -> model
        console.log(val);
        return val;
      }
    });
    window.onload=function(){
      var vm=new Vue({
        data:{
          msg:'<strong>welcome</strong>'
        }
      }).$mount('#box');
    };
  </script>
</head>
<body>
  <div id="box">
    <input type="text" v-model="msg | filterHtml">
    <br>
    {{msg | filterHtml}}
  </div>
</body>
</html>

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
onsubmit阻止form表单提交与onclick的相关操作
Sep 03 Javascript
js简单实现交换Li的值
May 22 Javascript
css如何让浮动元素水平居中
Aug 07 Javascript
JavaScript实现广告弹窗效果
Aug 09 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
Feb 20 Javascript
angular使用post、get向后台传参的问题实例
May 27 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
Dec 29 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
JavaScript 异步时序问题
Nov 20 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
Mar 15 #Javascript
详解vue移动端项目代码拆分记录
Mar 15 #Javascript
小程序自定义单页面、全局导航栏的实现代码
Mar 15 #Javascript
使用webpack搭建vue项目实现脚手架功能
Mar 15 #Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 #Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 #Javascript
浅谈KOA2 Restful方式路由初探
Mar 14 #Javascript
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
2014/12/16 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
用jQuery获取table中行id和td值的实现代码
2016/05/19 Javascript
jQuery soColorPacker 网页拾色器
2016/06/22 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
ECMAScript6轮播图实践知识总结
2016/08/17 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
用JS实现选项卡
2020/03/23 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
python 判断三个数字中的最大值实例代码
2019/07/24 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
Python如何读写二进制数组数据
2020/08/01 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
工业学校毕业生自荐书
2014/01/03 职场文书
优秀幼教自荐信
2014/02/03 职场文书
五四青年节的活动方案
2014/08/20 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
运动会观后感
2015/06/09 职场文书
运动会跳远广播稿
2015/08/19 职场文书