gpt4 book ai didi

javascript - 在 vuex mapState 中访问 vue 方法

转载 作者:行者123 更新时间:2023-12-03 06:43:36 24 4
gpt4 key购买 nike

在 vuex mapState 中计算数据时,我有一项重要任务要做。每次数据更改时,我都需要调用此 vue 方法 countAlerts;为此,计算属性需要调用该方法,但是 this 作用域在使用 insight vuex mapState 时没有 vue 方法。

export default {
name: "Alerts",
methods: {
countAlerts(data, period) {
/// DO SOMETHING, THEN RETURN DATA
return data;
}
},
computed: {
...mapState({
foundation: state => state.insights.foundation,
insights: state => {
return state.insights.list.filter(al => {
switch (state.insights.foundation.period) {
case "daily":
// ====>> NEED TO CALL METHOD HERE <<=====
al = this.countAlerts(al, "daily");
if (
al.threeDayUp ||
al.threeDayDown ||
al.greatDayUp ||
al.greatDayDown
) {
return al;
}
break;
/// MORE CODE ABOVE
}
});
}
})
}
};

最佳答案

当您将计算属性定义为函数时,

this 会绑定(bind)到组件的上下文。

来自docs :

// to access local state with `this`, a normal function must be used
countPlusLocalState (state) {
return state.count + this.localCount
}

关于javascript - 在 vuex mapState 中访问 vue 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53903605/

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