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 相关文章推荐
爱恋千雪-US-AscII加密解密工具(网页加密)下载
Jun 06 Javascript
js 效率组装字符串 StringBuffer
Dec 23 Javascript
JavaScript DOM 学习第二章 编辑文本
Feb 19 Javascript
Bootstrap表单Form全面解析
Jun 13 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
Jun 04 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
jquery将json转为数据字典的实例代码
Oct 11 jQuery
vue中实现点击变成全屏的多种方法
Sep 27 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 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
图书管理程序(三)
2006/10/09 PHP
教你如何快捷的使用cmd访问mysql小技巧
2014/05/26 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
JSON字符串操作移除空串更改key/value的介绍
2019/01/05 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python实现文件信息进行合并实例代码
2018/01/17 Python
python八皇后问题的解决方法
2018/09/27 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Python语言异常处理测试过程解析
2020/01/08 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Python: glob匹配文件的操作
2020/12/11 Python
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
大学生自我鉴定范文
2013/12/28 职场文书
2015年教师节活动总结
2015/03/20 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
css3带你实现3D转换效果
2022/02/24 HTML / CSS
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL