vue.js - (承诺)TypeError:无法读取未定义的属性“loggedUser”
问题描述
当我尝试使用来自 mounded 生命周期方法中的 getter 的 loggedUser 时,它会抛出(承诺中的)TypeError:无法读取未定义错误的属性“loggedUser”。
computed: {
...mapGetters({
loggedUser: 'auth/loggedUser',
users: 'users/getAllUsers',
}),
在我尝试过滤掉loggedUser的地方的承诺中
mounted() {
...
.then(function(res) {
this.groupedUsers = _.filter(res, function(groupedUser) {
return groupedUser.userId !== this.loggedUser.userId;
});
}
它在以下行中引发错误。
怎么可能修复?
解决方案
始终使用箭头函数以免丢失上下文
mounted() {
...
.then((res) => {
this.groupedUsers = _.filter(res, (groupedUser) => {
return groupedUser.userId !== this.loggedUser.userId;
});
}
推荐阅读
- javascript - 如何进行顺序查询执行?
- c++ - 字符串转换为 const char*
- node.js - 使用 NodeJS 在 MongoDB 中进行大数据处理和管理
- c# - 为 Builder 类编写单元测试
- java - 谷歌地图标记自定义信息从 Firebase 获取数据
- sql-server - 如何仅允许与特定公共 IP 地址(白名单)的 SQL Server 实例进行远程连接并限制对所有其他 IP 的访问
- r - 无法使用 grVizOutput() 和 renderGrViz() 运行闪亮的应用程序
- c++ - std::visit 和 std::variant 用法
- bigdata - 如何监控 Flink 应用程序?
- node.js - 是否有任何自定义库可以在nodejs中生成相当于mysql表的实体