gpt4 book ai didi

javascript - 在 Vue JS 中,从 vue 实例中的方法调用过滤器,但 $options 未定义

转载 作者:行者123 更新时间:2023-11-30 20:20:35 25 4
gpt4 key购买 nike

我已经看到了符合我的问题的答案:In Vue JS, call a filter from a method inside the vue instance

现在把它放在一边,做的时候

console.log(this.$options)

我得到 undefined 所以我不能调用 filters ..这是我的代码:

 methods:{
style:(input)=>{
return {
backgroundColor:this.$options.filters.color(input),
}
}
},
filters: {
color: function (value) {
console.log(color(value));
if (!value) return ''
return `rgb(${value},${value},${value})`
}
}

Error in render: "TypeError: Cannot read property 'filters' of undefined"

最佳答案

您正在为样式方法使用箭头函数。应该是:

style(input) {
return {
backgroundColor:this.$options.filters.color(input),
}
}

如果您没有在过滤器中使用 this,那么您可以将其提取到外部,例如:

function color (value) {
console.log(color(value));
if (!value) return ''
return `rgb(${value},${value},${value})`
}

methods: {
style(input) {
return {
backgroundColor: color(input),
}
}
},
filters: { color }

关于javascript - 在 Vue JS 中,从 vue 实例中的方法调用过滤器,但 $options 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51493142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com