有没有办法为 KO 定义(没有更好的术语)“半全局”变量?
我想让一个变量可用于单个 KO 模板,而不管上下文如何,同时将其与实际的全局范围和其他模板隔离开来。
目标是在不使用$parent的情况下,在任何绑定上下文中(例如,在 KO 的 foreach 中)拥有一组仅可用于该一个模板的辅助函数,就像全局变量总是可以在没有任何特殊语法的情况下访问一样。下面的例子:
// Template 1 - helpers.foo has been set for this Template or ViewModel
<div data-bind="text:helpers.foo('Works')"></div>
<div data-bind="foreach: someList">
<div data-bind="text:helpers.foo('Context is inside someList. helpers.foo is not available :( ')"></div>
</div>
// Template 2 - helpers.foo is not set for this Template or ViewModel
<div data-bind="text:helpers.foo('Should not work')"></div>