vue2 v-model/v-text 中使用过滤器的方法示例


Posted in Javascript onMay 09, 2019

Vue.js 允许自定义过滤器,一般可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

<!-- 在双花括号中 -->
{{ message | capitalize }}

<!-- 在 v-bind 中 -->
<div v-bind:id="rawId | formatId"></div>

可以在一个组件的选项中定义私有的过滤器:

filters: {
  dateFormat: (dataStr) => {
   var time = new Date(dataStr);
  
   function timeAdd0(str) {
    if (str < 10) {
     str = '0' + str;
    }
    return str
   }
   var y = time.getFullYear();
   var m = time.getMonth() + 1;
   var d = time.getDate();
   var h = time.getHours();
   var mm = time.getMinutes();
   var s = time.getSeconds();
   return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s);
  }
}

或者在创建 Vue 实例之前全局定义过滤器:

Vue.filter('dateFormat', (dataStr) => {
 var time = new Date(dataStr);

 function timeAdd0(str) {
  if (str < 10) {
   str = '0' + str;
  }
  return str
 }
 var y = time.getFullYear();
 var m = time.getMonth() + 1;
 var d = time.getDate();
 var h = time.getHours();
 var mm = time.getMinutes();
 var s = time.getSeconds();
 return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s);
})

但是如果想要在v-model或者v-text中使用过滤器是不生效的,可以参考以下写法:

<template>
 <div id="app">
  <input type="text" v-model="userDate" />  
  <span>{{ userDate | dateFormat }}</span>
 </div>
</template>

<script>
export default {
  data: {
    return {
      userDate:'',
    }
  },
    filters: {
    dateFormat: (dataStr) => {
     var time = new Date(dataStr);
    
     function timeAdd0(str) {
      if (str < 10) {
       str = '0' + str;
      }
      return str
     }
     var y = time.getFullYear();
     var m = time.getMonth() + 1;
     var d = time.getDate();
     var h = time.getHours();
     var mm = time.getMinutes();
     var s = time.getSeconds();
     return y + '-' + timeAdd0(m) + '-' + timeAdd0(d) + ' ' + timeAdd0(h) + ':' + timeAdd0(mm) + ':' + timeAdd0(s);
    }
  }
}
</script>

<style>
</style>

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

Javascript 相关文章推荐
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
一个背景云变换js特效 鼠标移动背景云变化
Dec 28 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
禁用页面部分JavaScript不是全部而是部分
Sep 03 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
超实用的javascript时间处理总结
Aug 16 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
Mar 24 jQuery
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
vue学习教程之带你一步步详细解析vue-cli
Dec 26 Javascript
JS隐藏号码中间4位代码实例
Apr 09 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
May 09 #Javascript
uni-app之APP和小程序微信授权方法
May 09 #Javascript
详解使用uni-app开发微信小程序之登录模块
May 09 #Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
May 09 #Javascript
JS原型与继承操作示例
May 09 #Javascript
详解微信小程序回到顶部的两种方式
May 09 #Javascript
jquery登录的异步验证操作示例
May 09 #jQuery
You might like
PHP新手上路(十一)
2006/10/09 PHP
dedecms系统常用术语汇总
2007/04/03 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
菜单效果
2006/10/14 Javascript
List the Codec Files on a Computer
2007/06/18 Javascript
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
Vue内容分发slot(全面解析)
2017/08/19 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
使用Python实现画一个中国地图
2019/11/23 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
Python使用OpenPyXL处理Excel表格
2020/07/02 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
如何利用find命令查找文件
2015/02/07 面试题
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
房产转让协议书
2014/04/11 职场文书
小学优秀班集体申报材料
2014/05/25 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
生活委员竞选稿
2015/11/21 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js
Python办公自动化PPT批量转换操作
2021/09/15 Python