vue3 filter不支持,使用computed传值 带参数
2020年9月份,vue3出来了。增加了很多新功能,但是也删掉了一些功能。比如删掉了vue2中的过滤器filter功能。与此同时,官方建议:用方法调用或计算属性替换过滤器。
最近我在使用vue3时发现过滤器不能使用了。为了解决我项目中文案替换问题,因此我去复习了一下computed,watch,了解其如何传值。因为我也在网上查了很多资料但我觉得都不是很适用,下面是我总结我的方法。
利用闭包传参
template代码
<p>{{textSigh(value)}}</p>
这里不是方法,而是计算属性,可以这样理解,计算属性后不带(),但我们可以先做假设其有textSigh(),这里第二个()就是我们原生js时写的调用return里面的函数,但是计算属性没有()的,所以我们只有第二个()写在这边
script代码
const textSigh = computed(() => {
// value是计算属性执行后,再次执行return里面的函数时传的参数
return (value:any) => {
state.message = value + '解决vue3不支持过滤器filter的问题 '
return state.message
}
})
value是计算属性执行后,再次执行return里面的函数时传的参数