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 相关文章推荐
复制小说文本时出现的随机乱码的去除方法
Sep 07 Javascript
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
基于jQuery实现的旋转彩圈实例
Jun 26 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
jquery简单倒计时实现方法
Dec 18 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 Javascript
JS原生数据双向绑定实现代码
Aug 14 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
jQuery中DOM常见操作实例小结
Aug 01 jQuery
使用layer弹窗,制作编辑User信息页面的方法
Sep 27 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做推送服务端实现ios消息推送
2013/07/01 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python 回溯法模板详解
2020/02/26 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
德国帽子专家:Hutshopping
2019/11/03 全球购物
经理管理专业自荐信范文
2013/12/31 职场文书
阳光体育活动方案
2014/02/16 职场文书
生日宴会策划方案
2014/06/03 职场文书
普通党员对照检查材料
2014/08/28 职场文书
创先争优演讲稿
2014/09/15 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
Python绘制分类图的方法
2021/04/20 Python
keepalived + nginx 实现高可用方案
2022/12/24 Servers