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 相关文章推荐
jquery dialog键盘事件代码
Aug 01 Javascript
jquery实现checkbox 全选/全不选的通用写法
Feb 22 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
Feb 19 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
Webpack打包css后z-index被重新计算的解决方法
Jun 18 Javascript
js HTML5 canvas绘制图片的方法
Sep 08 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
Oct 31 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
浅析JavaScript预编译和暗示全局变量
Sep 03 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
Window下PHP三种运行方式图文详解
2013/06/11 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
HTML5如何适配 iPhone IOS 底部黑条
2021/03/09 HTML / CSS
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
JS使用队列对数组排列,基数排序算法示例
2019/03/02 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
windows 下python+numpy安装实用教程
2017/12/23 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
利用python修改json文件的value方法
2018/12/31 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
网络工程师个人的自我评价范文
2013/10/01 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
同学会主持词
2014/03/18 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
优秀党支部申报材料
2014/12/24 职场文书
总经理岗位职责
2015/02/04 职场文书