时间:2021-05-26
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>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题2.0filtersonlyworkinmustachetagsandv-bind.Vue2.0不再支持在v-html中使用过滤器,比如在1.0中是这样使用
本文主要介绍了Vue-Cli中自定义过滤器,分享给大家,也给自己做个笔记vue2里面移除了内置过滤器,所有过滤器都需要自己定义。以下例子是使用webpack模版
需求:vue中,除了在模板中使用过滤器,有时候,methods中也需要使用filters中的过滤器,网友hongz1125提出的解决办法:this.$optio
平时我们在vue中使用过滤器时,在模板中定义的过滤器不能在其他模板中使用,所以要在每个模板中定义自己的filter,这样就会出现很多重复的代码,那有没有办法定义
filters过滤器已从Vue3.0中删除,不再支持。2.x语法在2.x中,开发人员可以使用过滤器来处理常见的文本格式。BankAccountBalance{{