jquery - 因此在 jQuery 中重复“如果”查询
问题描述
我想永久重复“如果”查询以检索一条信息并相应地执行操作。
这应该仅在用户登录时用于显示内容。目前,只要页面加载,查询就会发生一次。问题是当用户在页面加载后登录时,内容没有出现,页面必须重新加载。这是我当前的代码:
import wixUsers from 'wix-users';
$w.onReady( () => {
if (wixUsers.currentUser.loggedIn) {
$w('#html1').show();
$w('#button17').show();
$w('#box9').hide();
$w('#button29').show();
}
else {
$w('#html1').hide();
$w('#button17').show();
$w('#box9').show();
$w('#button29').hide();
}
});
怎么可能总是检查这个?可能这个解决方案比较简单,但是我对jQuery了解不多。我感谢任何支持!
解决方案
如果您希望代码在成功登录后运行,请尝试wixUsers.onLogin
(这需要在函数内部onReady
运行)。
import wixUsers from 'wix-users';
wixUsers.onLogin((user) => {
let userId = user.id;
let isLoggedIn = user.loggedIn;
let userRole = user.role;
} );
您应该能够通过添加以下内容将代码片段集成到您的代码中:
import wixUsers from 'wix-users';
function toggleLoginState(isLoggedIn) {
if (isLoggedIn) {
$w('#html1').show();
$w('#button17').show();
$w('#box9').hide();
$w('#button29').show();
}
else {
$w('#html1').hide();
$w('#button17').show();
$w('#box9').show();
$w('#button29').hide();
}
}
$w.onReady(() => {
toggleLoginState(wixUsers.currentUser.loggedIn); // Set default state once page has finished loadading.
wixUsers.onLogin((user) => {
toggleLoginState(user.loggedIn); // This should always be true.
});
});
更多细节可以在文档中找到https://www.wix.com/velo/reference/wix-users/onlogin
推荐阅读
- flutter - 在 dart 中动态定义或转换变量类型
- python - 如何禁用无头 chrome 中的弹出窗口?
- php - Bootstrap 模态表单不会在提交时关闭
- sql - MS Access DoCmd.CopyObject 将表从另一个数据库复制到当前数据库
- maven - Maven同时执行目标
- sql-server - 如何对 SSAS 多维数据集中的时间维度进行排序?糟糕的排序导致 ParallelPeriod() 出现问题
- pine-script - 绘制多个图,有些是叠加的,有些不是
- python - 将项目附加到Python中列表的所有子列表
- javascript - 在 MongoDB 中查找动态键值对
- javascript - 按某些属性扩展对象