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 相关文章推荐
js的event详解。
Sep 06 Javascript
Javascript中Eval函数的使用
Mar 23 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
Javascript Request获取请求参数如何实现
Nov 28 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
javascript删除元素节点removeChild()用法实例
May 26 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
JS实现具备延时功能的滑动门菜单效果
Sep 17 Javascript
简单实现jQuery手风琴效果
Aug 18 jQuery
Node 自动化部署的方法
Oct 17 Javascript
vue 自定义 select内置组件
Apr 10 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
php 执行系统命令的方法
2009/07/07 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
JSON相关知识汇总
2015/07/03 Javascript
js实现文本框宽度自适应文本宽度的方法
2015/08/13 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
2018/10/10 jQuery
python在不同层级目录import模块的方法
2016/01/31 Python
Ubuntu下安装PyV8
2016/03/13 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
基于Python爬取搜狐证券股票过程解析
2020/11/18 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
如何写你的创业计划书
2014/01/07 职场文书
护理职业生涯规划书
2014/01/24 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
学校交通安全责任书
2014/08/25 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
2015年为民办实事工作总结
2015/05/26 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
为什么node.js不适合大型项目
2021/04/28 Javascript
Python中super().__init__()测试以及理解
2021/12/06 Python
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis