0

我确信这是一个非常基本的问题,但我从 MEAN 堆栈开始使用express-handlebars并仍在启动我的技能。

我来自 PHP 世界,我过去常常从我的phtml代码中调用 PHP 函数,例如:

   <p>&copy; 2012 - <?= date('Y') ?> by ACME LLC. All rights reserved.</p>

这将使我获得当前年份并打印以下输出:

(C) 2012 - 2016 年 ACME LLC。版权所有。

我知道把手{{ }}会打印任何上下文变量,但不想将当前年份放在可打印的conetext中。

我也见过车把助手,但我不确定这是要走的路。

帮助表示赞赏。

4

1 回答 1

0

根据我的理解,您可以从 html 代码调用函数,但您可以设置帮助程序在服务器端和客户端运行。

var register = function(Handlebars) {

    var helpers = {
        // put all of your helpers inside this object
        foo: function(){
            return "FOO";
        },
        bar: function(){
            return "BAR";
        }
    };

    if (Handlebars && typeof Handlebars.registerHelper === "function") {
        // register helpers
        for (var prop in helpers) {
            Handlebars.registerHelper(prop, helpers[prop]);
        }
    } else {
        // just return helpers object if we can't register helpers here
        return helpers;
    }

};

// client
if (typeof window !== "undefined") {
    register(Handlebars);
}
// server
else {
    module.exports.register = register;
    module.exports.helpers = register(null);
}
于 2016-12-21T12:42:11.147 回答