【问题标题】:Meteor Helpers - a function to check if document existsMeteor Helpers - 检查文档是否存在的功能
【发布时间】:2016-03-06 03:37:25
【问题描述】:

以下代码按预期工作,即如果有文档,则帮助器返回 true,如果没有文档,则返回 false。但是,我在控制台上收到警告。

“错误:模板助手中的异常: TypeError:无法读取未定义的属性“filepickerId” 在 Object.Template.navigation.helpers.ichk..."

警告不一致,不知道为什么会这样。再一次,代码可以在没有任何流程的情况下运行。

Template.nav.helpers({

        'ichk': function(){

            var ct= Info.findOne({_id:Meteor.userId()});

            if (ct.profilepic.filepickerId) {
                return true;
            }else{
                return false;
            }

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您需要guard。你的助手可以这样重写:

    Template.nav.helpers({
      ichk: function () {
        var ct = Info.findOne({ _id: Meteor.userId() });
        return !!(ct && ct.profilepic && ct.profilepic.filepickerId);
      }
    }
    

    【讨论】:

      【解决方案2】:

      如果可行,您应该再添加一行以消除异常。

      Template.nav.helpers({
      
             'ichk': function(){
      
              var ct= Info.findOne({_id:Meteor.userId()});
      
                      if(ct){
      
                      if (ct.profilepic.filepickerId) {
      
                      return true;
      
                       }
      
                      else{
      
                      return false;
      
                      }}
      

      这样你首先检查文档是否存在。

      【讨论】:

        猜你喜欢
        • 2016-10-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-08
        • 1970-01-01
        • 2017-02-14
        • 2012-07-02
        • 2020-10-12
        • 2019-03-04
        相关资源
        最近更新 更多