在项目中遇到一个情况,在对日期进行格式化
时,定义了一个局部
过滤器,但是在
过滤器中
使用this调用
vue的方法
时,报方法为undefined的错误,经过对this的打印输出,发现输出结果为undefined;
问题如下:
<template>
{{ '1558490001000' | formatDate }}
</template>
<script>
vue 中filters过滤器不能使用this的解决方案前言:filters作为Vue中的过滤器 我们在实际开发中会经常使用到 比如在模板上格式化我们想要的日期 但是使用这个属性也会遇到一些问题 比如我们最常用的时间格式化工具moment.js 当我们把它挂载到全局的时候 会使用:方案一: 不使用fiiters这是最直接的 不使用自然就不会又问题 可以直接在模板的差值表达式中写过滤的代码 如下:方案二:使用that代替this这种方式早就为人所用 但是问题出在 不知道在哪了定义that
filte
最近工作中遇到一个问题,就是 filter 中的函数无法使用绑定在 Vue.prototype 的函数。都知道,在 created、mounted、methods 中, this 绑定的都是当前 Vue 实例。偏偏 filter 函数 this 指向的是 Window?
直接上例子:
<div id="app">
{{ myArr | filtersOdd | filter...
今天在完成一个时间戳转化时想试试vue的过滤器filters,代码如下:
execute_time(time) {
if (time === 0) return '/'
else return this.getTime(time)
我发现报了个"TypeError: Cannot read property ‘getTime’ of undefined",我第...
有
时候我们在
使用vue中的
过滤器
filters方法
时,用到this
时会报undefined错,那是因为在
filters中的this指向其实是为undefined,如果真的想
使用可以全局定义一个that, 进行代替,let that = this; 那是因为当初为了设计
过滤器
filters更偏重于对文本数据的转化,如果
使用上下文中的this,可以
使用计算属性computed或者方法methods。
vue3 filter不支持,使用computed传值 带参数
2020年9月份,vue3出来了。增加了很多新功能,但是也删掉了一些功能。比如删掉了vue2中的过滤器filter功能。与此同时,官方建议:用方法调用或计算属性替换过滤器。
最近我在使用vue3时发现过滤器不能使用了。为了解决我项目中文案替换问题,因此我去复习了一下computed,watch,了解其如何传值。因为我也在网上查了很多资料但我觉得都不是很适用,下面是我总结我的方法。
vue3使用不了过滤器怎么办?
这句话的大概意思是,
vue中的
过滤器更偏向于对文本数据的转化,而
不能依赖this上下文,如果需要
使用到上下文this我们应该
使用computed计算属性的或者一个method方法。
解决办法1:在data中定义一个that=this,在需要
过滤的
过滤器中传入that参数,然后在
过滤器中
使用
结果:可以拿到firstTime的值
解决办法2:改用compu