我想说一些类似{{#if tiny || huge}}的话,但看起来空格键只需要一个真实的函数。什么是最好的解决方案?
我想编写另一个助手,但是如何从另一个助手的代码中调用一个助手呢?例如。
Template.foo.helpers({ tiny: function() { return this < 10 },
huge: function() { return this > 1000 },
tinyOrHuge: function() { return tiny() || huge() } // bzzt!
})我不想通过复制tinyOrHuge和huge来重写tiny。不太干。
是否有按名称访问助手函数的编程方法?如果您传入该名称,helpers将返回该助手,这将是一件好事。我可以打电话给Template.foo.helpers('tiny')()。但是我已经看过这些Blaze.Template对象,没有找到一种在不访问私有vars (例如Template.foo.__helpers.get('tiny') )的情况下获得函数的方法。
发布于 2015-02-13 20:12:18
下面是一个重用助手函数的示例,同时保持必要的上下文:
var tiny = function() {
return this < 10;
};
var huge = function() {
return this > 1000;
};
Template.foo.helpers({
tiny: tiny,
huge: huge,
tinyOrHuge: function() {
return tiny.call(this) || huge.call(this);
}
});https://stackoverflow.com/questions/28506166
复制相似问题