Meteor 需要时间才能知道是否存在 {{currentUser}}

2024-03-25

我有一些代码,我只想在存在时运行noUser和一些当有currentUser.
所有这些都在导航模板内。就像这样...

   {{#if currentUser}}  
     <li class="nav"><a href="{{pathFor 'create'}}">Post</a>  
     </li>  
     <li class="nav"><a>Ola, {{thisUser}}!</a>  
     </li>  
     <li class="nav"><a href="#" id="logout">Log Out</a>  
     </li>  
   {{/if}}  

   {{#if noUser}}  
      <li class="nav"><a href="{{pathFor 'signup'}}">Sign Up</a>  
      </li>  
      <li class="nav"><a href="{{pathFor 'login'}}">Login</a>  
      </li>  
   {{/if}}  

所以问题是当有一个currentUser(即,我已登录),我刷新页面,里面的代码{{#if noUser}}块首先出现,然后{{#if currentUser}} block, {{#if noUser}}块仅在没有用户时才显示。
这是模板的帮助程序代码..

Template.navigation.helpers({

    thisUser: function () {
            return Meteor.user().username;

    },

    noUser: function () {
        var user = Meteor.user();

        if (!user) {
            return true;
        };
    }


});

不知道我在这里做错了什么。 :(
请帮忙。


您应该使用 if else 条件而不是 noUser 帮助程序。为了防止在登录时显示“noUser”块,您必须使用{{loggingIn}} 帮助器 http://docs.meteor.com/#/full/template_loggingin。像这样的事情:

{{#if loggingIn}}
  <p>Loggin in...</p>
{{else}}
  {{#if currentUser}}  
    <li class="nav"><a href="{{pathFor 'create'}}">Post</a>  
    </li>  
    <li class="nav"><a>Ola, {{thisUser}}!</a>  
    </li>  
    <li class="nav"><a href="#" id="logout">Log Out</a>  
    </li>  
  {{else}}  
    <li class="nav"><a href="{{pathFor 'signup'}}">Sign Up</a>  
    </li>  
    <li class="nav"><a href="{{pathFor 'login'}}">Login</a>  
    </li>  
  {{/if}}
{{/if}}

因为 Meteor 无法立即知道用户是否登录。因此你必须使用loggingIn helper。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Meteor 需要时间才能知道是否存在 {{currentUser}} 的相关文章

  • 如何使用 Meteor js 触发自定义事件

    是否可以使用 Meteor 触发自定义事件 我发现触发自定义 jquery 事件不起作用 因为 Meteor 事件与 jQuery 是分开的 正如这里所讨论的 https stackoverflow com questions 106465
  • 未捕获的类型错误:fs.readFileSync 不是函数

    我正在尝试获取 webpack 和地图盒 GL https github com mapbox mapbox gl js blob master webpack config example js在 Meteor 系统中协同工作 我到处都查
  • Google 地图 v3 与 MeteorJS 加载同步问题

    我的应用程序在 MeteorJS 框架上运行并使用谷歌地图 javascript api v3 谷歌地图加载方案类似于此中解释的方案post https stackoverflow com a 16797219 942899 和官方的很相似
  • Meteor js:在用户集合中创建索引

    我创建一个带有全名字段的用户集合 即 Jose Osorio Jose castro John smith Maria Smith 我需要创建一个搜索栏来按姓名查找注册用户 IE 在搜索栏中写下 jose 我想看到何塞 奥索里奥和何塞 卡斯
  • 在 Meteor 应用程序中使用 Disqus / reCaptcha

    我正在开发一个使用 Meteor 的应用程序 我正在尝试在我的其中一个表单上使用 reCaptcha 并在我的某些页面上使用 Disqus 评论系统 但问题是 当我运行流星服务器时 这些都没有被渲染 以下是我添加到模板中的示例 Disqus
  • 我怎样才能完成反应日期

    我正在创建消息列表 显示消息发送的时间 这是我的留言集 Messages new Mongo Collection messages Messages attachSchema new SimpleSchema created type D
  • Meteor Subscribe 不更新集合的排序顺序

    Snippet from Template div class post container each elements gt post element this each div Snippet from Client Meteor su
  • 在服务器运行时使用tinytest测试Meteor客户端

    是否可以在服务器运行时使用tinytest测试Meteor客户端 这是我仅测试客户端的示例 Tinytest add Add object to a collection function test var people new Meteo
  • 流星合并同一集合的光标

    在我的社交应用程序 如 FB 中 我有一个奇怪的需要 将同一集合用户的两个光标合并到一个发布中 Meteor 服务器打印此错误 发布函数为集合用户返回了多个游标 也许这在 Meteor 0 7 2 中无法完成 也许我的方法是错误的 但我发现
  • 部署到 Digital Ocean 的 Meteor 应用卡在 100% CPU 和 OOM

    我有一个使用 Meteor Up 部署到 Digital Ocean 的 Meteor 0 8 0 应用程序 该应用程序一直卡在 100 CPU 只是因内存不足而崩溃 然后以 100 CPU 再次启动 过去24小时就这样卡住了 奇怪的是没有
  • 我可以使用 Meteor 将 this._id 值从一个模板助手传递到另一个模板助手吗?

    我有以下模板 html 及其受人尊敬的管理器 js 文件 admin管理类别 管理员添加类别 管理更新类别 考虑以下
  • Meteor:多个不需要的 mongodb 连接使数据库部署饱和

    我维护了一些部署在 AWS elastic beanstalk 64 位 Amazon Linux 4 5 2 上的meteor 1 7 0 3 应用程序 所有连接到托管 mongodb 部署 在 Compose 上 mongodb 版本
  • 使用 Gmail SMTP 发送电子邮件 - Meteorjs

    您好 我正在尝试设置我的 Gmail 帐户来为我的 Meteor 应用程序发送电子邮件 到目前为止还不是很容易 服务器 js Meteor startup function smtp username xxxxx eg email prot
  • Meteor React 教程第 2 步不起作用

    我正在做 Meteor React simple todos 教程 第一步只是创建应用程序 cd 进入应用程序目录并运行meteor 到目前为止 一切都很好 我按照步骤 2 中的说明进行了更改 但未显示待办事项列表 我得到一个空白屏幕 代码
  • 如何更新我的流星项目中的 cordova-plugin-device ?

    当我运行流星项目时 我收到此警告 警告 尝试安装插件 电子邮件受保护 cdn cgi l email protection 但 它的最低版本应为 1 1 1 以确保与 当前平台版本 安装最小 版本以方便起见 但您应该调整您的依赖项 然后 我
  • 如何让 minimongo.js 在浏览器中运行?

    The minimongo 的 github 演示 https github com mWater minimongo陈述为 客户端 mongo 数据库 通过 http 与服务器同步 还有一个还有一个minimongo 独立 https g
  • 如何在流星模板中设置日期格式

    我需要以 mm dd yyyy 格式显示数据库中的日期 因为它以 ISO 格式保存在mongodb如何在模板中转换它 这是我的代码 Template templatename vname function return Posts find
  • 编写/转换 Meteor 同步函数

    这已经困扰我一段时间了 所以我想我应该对其进行快速的质量检查 如果有一个普通的nodeJS模块或其他东西 并且它在服务器端有一个异步功能 我如何使其同步 例如我如何转换nodejsfs stat异步函数转为同步函数 例如我有 服务器端js
  • Meteor js:使Session对象部分持久化

    在我的流星应用程序中 我使用会话来存储有关用户活动的临时信息 我想使用 amplify js 将此信息的某些部分保留到浏览器 但不是全部 我想要一种拥有 临时 会话密钥和 持久 会话密钥的方法 例如我可以打电话 Session set pe
  • 将服务连接到现有的流星帐户

    我正在设置一个流星应用程序 其中涉及使用用户名和密码进行注册 然后希望将该帐户与 Facebook 和 Twitter 连接起来 我只需使用帐户包即可轻松启动并运行第一部分 但是当我有一个登录用户调用 Meteor loginWithFac

随机推荐

  • 按下“Tab”键时多次调用 textFieldShouldBeginEditing

    我有一个表单屏幕 其中包含 UITableView 内的多个输入字段 如果用户连接蓝牙键盘 则他可以按 Tab 键 问题是每个文本字段都会多次调用 textFieldShouldBeginEditing 方法 这是正常行为吗 正常的行为是
  • 水泥效果-艺术效果

    我希望给图像带来效果 其中生成的图像看起来就像是画在粗糙的水泥背景上 并且水泥背景在边缘附近自定义自身以突出显示它们 请帮助我编写一个算法来生成这样的效果 第一张图像是原始图像 and the second image is the out
  • 在 zendframework2 中验证日期

    嗨 我想验证 zf2 中的日期字段 形式 我设置 格式 选项来获取我需要的格式 但每次我验证它时都会出现错误 验证器看起来像这样 inputFilter gt add factory gt createInput array name gt
  • Inno Setup - 更新时删除旧的/过时的文件

    所以 我意识到这个问题以前已经被问过 事实上 在写这篇文章之前 我读了其中的 10 篇文章 但没有一个有适用的解决方案 我希望现在有人已经找到了一些东西 问题 我的程序是使用脚本构建的 在单个文件夹中创建所有最终文件 这些文件包含在 inn
  • 使用 VBA 访问 Outlook 中的文件夹

    我正在使用以下命令将邮件移动到 Outlook 中的文件夹 Dim chemin as String chemin Split path Set myNameSpace Application GetNamespace MAPI Set m
  • 将 Image 数据类型转换为 Base64 并将 Base64 转换为 Image 数据类型

    我在 MS SQL 2012 中使用数据类型 Image 来存储图像 问题 我在 C 中的 BASE64 字符串中有一个图像 9j 4AAQSkZJRgABAQEASABIAAD 4SKhRXhpZgAATU0AKgAAAAgABwESAA
  • 有没有办法让一个对象在 Windows UA 中占据多个网格?

    我正在尝试制作我的第一个应用程序 但我在网格方面遇到了一些问题 我试图将屏幕的左侧设为地图 将右侧设为 2 个框 网格 我不确定是否有办法在多个网格中拥有一个对象 或者如何设置这样的布局 基本上是一个 左线消失了 到目前为止 这是我获得的布
  • 如何创建弹跳div动画

    我正在尝试重新创建弹跳箭头动画 如下所示 http www codecomputerlove com http www codecomputerlove com 但进展并不顺利 我尝试使用 Layerslider 中的内置动画最接近的内容可
  • 带有 标签的 SVG 不可见

    我对 SVG 还比较陌生 我一直在探索各种在线呈现它们的方法 每个似乎都有自己的优点和缺点 但
  • 将文本添加到行尾而不加载文件

    我需要将信息以许多字典的形式存储到一个非常大的文件中 这并不重要 只是说我试图首先将所有数据放入这些字典中 但我耗尽了内存 60Gb 很好 所以我想通过在行上执行循环并向每行附加一些文本来将数据添加到文件中 而不实际将其加载到内存中 那可能
  • Async/Await 是否使用 Task.Run 异步启动新线程?

    我读了很多文章 但仍然无法理解这部分 考虑这段代码 private async void button1 Click object sender EventArgs e await Dosomething private async Tas
  • Matlab中imagesc()的非均匀轴

    问题 是否可以在非均匀轴上说明图像 Details 我需要用图像来说明多维时间序列 但这个时间序列的时间网格非常不均匀 这是一个例子 m 10 n 3 t sort rand m 1 non uniform time values rand
  • :before/:after 伪元素的内容垂直居中

    我正在尝试实现类似于这张图片的效果 我有一个图像 作为幻灯片的一部分 包裹在 div 中 并使用 before 和 after 伪元素 我显示两个控件以移动到幻灯片的下一个 gt gt 或上一个 到目前为止 我有这个 div positio
  • 如何检查 emacs 是在框架中还是在终端中?

    基于这个问题 如何将emacsclient背景设置为Emacs背景 https stackoverflow com questions 9271930 how to set emacsclient background as emacs b
  • PHP内存限制

    在 PHP 5 0 4 中 如果您don t配置 enable memory limit 时 将忽略 memory limit 指令 在推荐的 php ini 文件中它被设置为 8M 但文档说它被忽略 那么在这种情况下 是否存在每个脚本的内
  • 使用客户端指纹对 JWT 令牌进行编码?

    我想知道是否会是最佳实践使用客户端指纹作为 JWT 秘密进行编码 然而 我在 WWW 上找不到有关这个问题的任何内容 但到目前为止 我这样做是有意义的 我正在考虑使用 JavaScript 生成指纹客户端 并在每次调用时将其发送到 API
  • 如何添加tailwindcss到vite?

    我在用着vite https github com vuejs vite 0 16 6并想将 vuepress 站点迁移到使用 vite 但是我不确定如何配置 vite 以使用 tailwindcss in my index css tai
  • 如何让3个textView控件大小相同

    在我的活动中我定义了 3 个 textView 控件 所有这些 textView 都一个挨着一个出现 我需要做一些事情 使它们始终具有相同的大小 假设第一个 textView 控件是小时 第二个 textView 控件是分钟 第三个 tex
  • 多个 Asp.Net 项目之间的共享代码 [重复]

    这个问题在这里已经有答案了 在同一服务器上的多个 Web 应用程序之间共享 bin 文件夹和 dll 以及其他资源文件 如 css 的最佳实践是什么 我已经将通用代码分离到它们自己的程序集中 但我想知道部署等 我基本上希望将所有通用文件位于
  • Meteor 需要时间才能知道是否存在 {{currentUser}}

    我有一些代码 我只想在存在时运行noUser和一些当有currentUser 所有这些都在导航模板内 就像这样 if currentUser li class nav a href Post a li li class nav a Ola