【发布时间】:2020-07-22 09:25:15
【问题描述】:
我使用 Quasar 框架来设计我的 UI。当我使用函数注销并使用vue-router 推送到另一条路由时,出现以下错误:
TypeError: Cannot read property 'push' of undefined
我使用vuex的action方法注销替换:
export const handleAuthStateChanged = ({ commit }, payload) => {
firebaseAuth.onAuthStateChanged(function(user) {
if (user) {
// user is logged in
let userId = firebaseAuth.currentUser.uid;
firebaseDB.ref("users/" + userId).once("value", function(snapshot) {
let userDetails = snapshot.val();
commit("USER_DETAILS", {
name: userDetails.name,
email: userDetails.email,
online: userDetails.online,
type: userDetails.type,
userId: userId
});
});
this.$router.push('');
} else {
// user is logged out
commit("USER_DETAILS", {});
this.$router.replace('chat');
}
});
};
我该如何解决这个问题?
【问题讨论】:
-
错误提示
this.$router未定义。你将不得不弄清楚为什么它从来没有达到你期望的价值。 -
@Doug Stevenson 我该怎么做。你能建议一些方法吗
标签: javascript firebase vue.js vuex quasar