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 相关文章推荐
javascript自然分类法算法实现代码
Oct 11 Javascript
利用JS进行图片的切换即特效展示图片
Dec 03 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
jquery实现select选中行、列合计示例
Apr 25 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
Aug 25 Javascript
利用jquery禁止外层滚动条的滚动
Jan 05 Javascript
js仿网易表单及时验证功能
Mar 07 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
js实现点击按钮复制文本功能
Jul 20 Javascript
JavaScript学习笔记之DOM操作实例分析
Jan 08 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
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
做个自己站内搜索引擎
2006/10/09 PHP
PHP经典面试题集锦
2015/03/19 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
关于数据与后端进行交流匹配(点亮星星)
2016/08/03 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
Vue的Class与Style绑定的方法
2017/09/01 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python+flask实现API的方法
2018/11/21 Python
python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
2019/08/28 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
2020/06/03 Python
python palywright库基本使用
2021/01/21 Python
Joules美国官网:出色的英国风格
2017/10/30 全球购物
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
如何写好优秀的创业计划书
2014/01/30 职场文书
一年级学生评语大全
2014/04/21 职场文书
医院党员公开承诺书
2014/08/30 职场文书
三方股份合作协议书
2014/10/13 职场文书
2014年个人工作总结范文
2014/11/07 职场文书