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来制作复选框的全选和不选效果
May 22 Javascript
JavaScript入门基础
Aug 12 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 Javascript
老生常谈angularjs中的$state.go
Apr 24 Javascript
微信小程序实现滑动删除效果
May 19 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
Jul 21 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
Aug 23 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
vue中watch和computed为什么能监听到数据的改变以及不同之处
Dec 27 Javascript
JS中的变量作用域(console版)
Jul 18 Javascript
JS PHP字符串截取函数实现原理解析
Aug 29 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
PHP文件读写操作之文件写入代码
2011/01/13 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
Codeigniter检测表单post数据的方法
2015/03/21 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
Python 制作糗事百科爬虫实例
2016/09/22 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
Python 修改列表中的元素方法
2018/06/26 Python
如何利用Pyecharts可视化微信好友
2019/07/04 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
2020/03/31 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
canvas烟花特效锦集
2018/01/17 HTML / CSS
如何处理简单的PHP错误
2015/10/14 面试题
后勤人员自我鉴定
2013/10/20 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
优秀学生评语大全
2014/04/25 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
电影雨中的树观后感
2015/06/15 职场文书
学生退学证明
2015/06/23 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android