【问题标题】:Can't access meteor lib helpers from client无法从客户端访问流星 lib 助手
【发布时间】:2014-06-11 08:06:10
【问题描述】:

我正在尝试理解 meteorjs 并有一个小问题。

我想创建一个 getDateTime 助手,并希望这个助手在客户端和服务器上都可用。

然后我将此代码插入到 lib/helpers 中

function getDateTime() {
    var now     = new Date();
    var year    = now.getFullYear();
    var month   = now.getMonth()+1;
    var day     = now.getDate();
    var hour    = now.getHours();
    var minute  = now.getMinutes();
    var second  = now.getSeconds();
    if(month.toString().length == 1) {
        var month = '0'+month;
    }
    if(day.toString().length == 1) {
        var day = '0'+day;
    }
    if(hour.toString().length == 1) {
        var hour = '0'+hour;
    }
    if(minute.toString().length == 1) {
        var minute = '0'+minute;
    }
    if(second.toString().length == 1) {
        var second = '0'+second;
    }
    var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;
    return dateTime;
}

很遗憾,该功能在客户端上不可用(“未定义”)。

看源码的时候可以看到但是封装在:

(函数(){ };

我不太明白这是为什么。

我应该怎么做才能访问该功能?

【问题讨论】:

    标签: meteor


    【解决方案1】:

    Meteor 应用程序中的每个 .js 文件都包含在立即调用的函数表达式 (function () { ... })() 中,以防止局部变量混淆全局范围。要使该函数在其他文件中可访问,请像这样定义它:

    // note: no "var"
    getDateTime = function () {
      // ...
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2016-05-09
      • 2022-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多