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 自定义CircleAnimation,Animate方法学习笔记
Jul 10 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
H5移动端适配 Flexible方案
Oct 24 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
简单了解微信小程序的目录结构
Jul 01 Javascript
你或许不知道的一些npm实用技巧
Jul 04 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
ES6扩展运算符和rest运算符用法实例分析
May 23 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 Javascript
JavaScript分页组件使用方法详解
Jul 26 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版国家代码、缩写查询函数代码
2011/08/14 PHP
php上传文件并显示上传进度的方法
2015/03/24 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
php文件上传类的分享
2017/07/06 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
python pdb调试方法分享
2014/01/21 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
python 上下文管理器使用方法小结
2017/10/10 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
python K近邻算法的kd树实现
2018/09/06 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
django admin组件使用方法详解
2019/07/19 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
Python通过字典映射函数实现switch
2020/11/06 Python
举例说明类变量和实例变量的区别
2016/06/30 面试题
法律专业求职信
2014/05/24 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
个人年终总结范文
2015/03/09 职场文书
离婚答辩状范文
2015/05/22 职场文书
《检阅》教学反思
2016/02/22 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书