【发布时间】:2014-05-29 07:51:10
【问题描述】:
这最初是an other question 的第二部分,我能够将其分离到它自己的问题中,以便更好地进行搜索索引。参考它以获得更具体的上下文可能会有所帮助。
我的问题是:如何优雅地将全局视图助手注入所有下划线模板
这个问题的灵感直接来自i18next documentation。在项目中切换到车把模板为时已晚,但到目前为止,我更喜欢使用registerHelper 样式处理它的方式。
在那边搜索,我遇到了Derick Bailey's View Helpers article,它像往常一样为一个不雅的问题提供了一个非常巧妙的解决方案。
在我们的架构中,我们决定为所有视图重新实现 serializeData,而不依赖于默认实现(从视图绑定的模型中导出所有属性)。我对此的看法是,如果我想获得任何接近 registerHelper 风格的东西,我必须扩展 Marionette.View 基类并提供一个基本的帮助器,通过继承注入所有视图。
这似乎与车把助手的清洁度相去甚远,让它完全可以工作,在这一点上似乎没有什么,但可以肯定。
非常感谢提供任何示例或任何提示来解决此问题。
谢谢。
[编辑]
我找到了解决这个确切问题的方法,详细信息在 my previous question 中。 西蒙还发布了一个也可能很好用的答案。
【问题讨论】:
-
我不熟悉 Marionette,但 Lodash(Underscore 的替代品,两者最终可能合并)支持这一点。例如,
_.templateSettings.imports = { foo: function () { ... } };定义了一个可以在任何模板中使用的新函数foo()。
标签: marionette view-helpers underscore.js-templating