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 相关文章推荐
javascript 对表格的行和列都能加亮显示
Dec 26 Javascript
JS模拟的QQ面板上的多级可展开的菜单
Oct 10 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
May 03 Javascript
nullJavascript中创建对象的五种方法实例
May 07 Javascript
jquery如何扑捉回车键触发的事件
Apr 24 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
集合Bootstrap自定义confirm提示效果
Sep 19 Javascript
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
浅谈小程序globalData的那些事儿
Nov 01 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
Apr 04 jQuery
微信小程序实现加入购物车滑动轨迹
Nov 18 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 Document 代码注释规范
2009/04/13 PHP
php设计模式 Adapter(适配器模式)
2011/06/26 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
js文字横向滚动特效
2015/11/11 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
值传递还是引用传递
2015/02/08 面试题
前台文员我鉴定
2014/01/12 职场文书
幼儿园教师节活动方案
2014/02/02 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
教师节促销方案
2014/03/22 职场文书
葬礼司仪主持词
2014/03/31 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
搬迁通知
2015/04/20 职场文书
2015年妇女工作总结
2015/05/14 职场文书
2015年教研员工作总结
2015/05/26 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
晶体管单管来复再生式收音机
2021/04/22 无线电
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python