Vue2.0系列之过滤器的使用


Posted in Javascript onMarch 01, 2018

vue2.0已经废弃了过滤器,需要自定义过滤器,用于一些常见的文本格式化。

感觉超级好用!!

过滤器可以用在两个地方:双花括号插值 和 v-bind表达式。

过滤器应该被添加在JavaScript表达式的尾部,由管道符指示。

一、注册全局过滤器

注意事项:
1、全局方法Vue.filter()注册一个自定义过滤器,必须放在vue实例化前面
2、过滤器函数始终以表达式的值作为第一个参数,带引号的参数视为字符串,而不带引号的参数按表达式计算
3、可以设置两个过滤器参数,前提这两个过滤器处理的不冲突
4、用户从input输入的数据在会传到model之前也可以先处理

案例

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>过滤器</title>
</head>
<body>

<div id="app">
  <!-- 首字符串大写 -->
  <div>首字母大写过滤器:{{str | upcase}}</div>
  <!-- 给过滤器传入参数 -->
  <p>求和过滤器:{{message | sum(10,20)}}</p> 
</div>

<script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script>
<script type="text/javascript">
    //全局方法 Vue.filter()注册一个自定义过滤器,必须放在Vue实例化前面
    // 注册一个首字母大写的过滤器
    Vue.filter("upcase", function(value) { 
        if (!value) return ''
        value = value.toString()
        return value.charAt(0).toUpperCase() + value.slice(1)
    });
    // 全局注册一个求和过滤器
    Vue.filter('sum', function (value, a, b) {
      return value + a + b;
    });

    var demo = new Vue({
      el: "#app",
      data: {
        str:'hello',
        message:12
      }
    });
</script>
</body>
</html>

案例效果:

Vue2.0系列之过滤器的使用

二、注册在实例化内部

过滤器也可以注册在实例内部,仅在使用它的实例里面注册。

根据以上案例改编:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>

<div id="app">
  <!-- 首字符串大写 -->
  <div>首字母大写过滤器:{{str | upcase}}</div>
  <!-- 给过滤器传入参数 -->
  <p>求和过滤器:{{message | sum(10,20)}}</p> 
</div>

<script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script>
<script type="text/javascript">
    var demo = new Vue({
      el: "#app",
      data: {
        str:'hello',
        message:12
      },
      filters: {
        upcase:function(value){
          if (!value) return ''
          value = value.toString()
          return value.charAt(0).toUpperCase() + value.slice(1)
        },
        sum:function(value, a, b){
          return value + a + b;
        }
      }
    });

</script>
</body>
</html>

效果:

Vue2.0系列之过滤器的使用

三、常见过滤器

根据时间戳转化成时间格式:mm-dd hh:tt

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>

<div id="app">
  <!-- 将时间戳转化为时间 -->
  <h1>根据时间戳转化为时间:{{ str | formateTime}}</h1>
</div>

<script type="text/javascript" src='https://i0.jrjimg.cn/zqt-red-1000/focus/focus2017YMZ/teamFrighting/js/vue.min.js'></script>
<script type="text/javascript">
    var demo = new Vue({
      el: "#app",
      data: {
        str:1517568434324,
      },
      filters: {
        formateTime:function(nS){
          return ((new Date(nS).getMonth()+1)<10?'0'+(new Date(nS).getMonth()+1):(new Date(nS).getMonth()+1)) + '-' + (new Date(nS).getDate()<10?'0'+new Date(nS).getDate():new Date(nS).getDate()) + ' ' + (new Date(nS).getHours()<10?'0'+new Date(nS).getHours():new Date(nS).getHours()) + ':' + (new Date(nS).getMinutes()<10?'0'+new Date(nS).getMinutes():new Date(nS).getMinutes())
        }
      }
    });

</script>
</body>
</html>

案例效果:

Vue2.0系列之过滤器的使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
JS对象转换为Jquery对象示例
Jan 26 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
省市二级联动小案例讲解
Jul 24 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
JS实现仿百度文库评分功能
Jan 12 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
vue2.0 下拉框默认标题设置方法
Aug 22 Javascript
vue图片上传本地预览组件使用详解
Feb 20 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
May 30 Javascript
vue调用本地摄像头实现拍照功能
Aug 14 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 #Javascript
vue.js 获取select中的value实例
Mar 01 #Javascript
Vue中的slot使用插槽分发内容的方法
Mar 01 #Javascript
在vue中封装可复用的组件方法
Mar 01 #Javascript
JavaScript判断日期时间差的实例代码
Mar 01 #Javascript
Vue 父子组件的数据传递、修改和更新方法
Mar 01 #Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
Mar 01 #Javascript
You might like
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
Python 字典(Dictionary)操作详解
2014/03/11 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python和go语言的区别是什么
2020/07/20 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
酒店行政人事部经理职务说明书
2014/02/26 职场文书
本科生就业推荐信
2014/05/19 职场文书
事业单位考察材料范文
2014/12/25 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
党支部培养考察意见
2015/06/02 职场文书
五一晚会主持词
2015/07/01 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python