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 相关文章推荐
极酷的javascirpt,让你随意编辑任何网页
Feb 25 Javascript
javascript 写类方式之七
Jul 05 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
被遗忘的javascript的slice() 方法
Apr 20 Javascript
js点击文本框后才加载验证码实例代码
Oct 20 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
Apr 08 Javascript
VuePress 快速踩坑小结
Feb 14 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
使用Three.js实现太阳系八大行星的自转公转示例代码
Apr 09 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
js实现简易计算器功能
Oct 18 Javascript
vue递归实现树形组件
Jul 15 Vue.js
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
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
教你php如何实现验证码
2016/01/20 PHP
PHP序列化操作方法分析
2016/09/28 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
2016/05/10 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
Vue的props父传子的示例代码
2020/05/20 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
Python随机生成带特殊字符的密码
2016/03/02 Python
设置python3为默认python的方法
2018/10/31 Python
python进行TCP端口扫描的实现
2018/12/21 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
护理自我鉴定范文
2013/10/06 职场文书
初中生个人学习的自我评价
2013/12/04 职场文书
生物制药自我鉴定
2014/01/25 职场文书
关于感恩的演讲稿500字
2014/08/26 职场文书
作风建设剖析材料
2014/10/06 职场文书
2014年评职称工作总结
2014/11/20 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
JavaScript 定时器详情
2021/11/11 Javascript