劫持 Meteor 帐户-ui 注销按钮
Hijacking the Meteor accounts-ui logout button
我正在使用 Meteor 的 accounts-ui
包来创建 Sign-up/Log-in 小部件。我希望未登录的用户能够继续匿名使用我的应用程序,因此我想检测用户何时退出。
据我所知,有一种方法可以接受回调函数register a function when the user logs in but no similar event is triggered when the user logs out. The next best thing is the Meteor.logout(\[callback\])
命令。
我在/Users/<name>/.meteor/packages/accounts-ui-unstyled/.1.1.8.cfkrwq++os+web.browser+web.cordova/web.browser/login_buttons.js
中找到了以下代码行
Template.loginButtons.events({
'click #login-buttons-logout': function() {
Meteor.logout(function () {
loginButtonsSession.closeDropdown();
});
}
});
我想在这里添加对我自己的方法的调用,但我不希望在我使用accounts-ui的所有项目中都调用此方法。我知道我可以将 accounts-ui-unstyled/
文件夹复制到该项目根目录下的 packages 文件夹,并在那里修改它,但这样我就会错过任何可能为该包交付的更新。
拦截注销调用的最佳实践方法是什么?
另一种方法是在 Tracker
:
中跟踪登录状态
Tracker.autorun(function(){
if ( Meteor.userId() ){
... do things for a logged-in user
} else {
... do things for a logged-out user
}
});
此自动运行 块将在登录状态更改时自动运行,因为Meteor.userId()
是一个反应性数据源。
我正在使用 Meteor 的 accounts-ui
包来创建 Sign-up/Log-in 小部件。我希望未登录的用户能够继续匿名使用我的应用程序,因此我想检测用户何时退出。
据我所知,有一种方法可以接受回调函数register a function when the user logs in but no similar event is triggered when the user logs out. The next best thing is the Meteor.logout(\[callback\])
命令。
我在/Users/<name>/.meteor/packages/accounts-ui-unstyled/.1.1.8.cfkrwq++os+web.browser+web.cordova/web.browser/login_buttons.js
Template.loginButtons.events({
'click #login-buttons-logout': function() {
Meteor.logout(function () {
loginButtonsSession.closeDropdown();
});
}
});
我想在这里添加对我自己的方法的调用,但我不希望在我使用accounts-ui的所有项目中都调用此方法。我知道我可以将 accounts-ui-unstyled/
文件夹复制到该项目根目录下的 packages 文件夹,并在那里修改它,但这样我就会错过任何可能为该包交付的更新。
拦截注销调用的最佳实践方法是什么?
另一种方法是在 Tracker
:
Tracker.autorun(function(){
if ( Meteor.userId() ){
... do things for a logged-in user
} else {
... do things for a logged-out user
}
});
此自动运行 块将在登录状态更改时自动运行,因为Meteor.userId()
是一个反应性数据源。