KO の「セミグローバル」変数を定義する方法はありますか?
実際のグローバル スコープや他のテンプレートから離れたまま、コンテキストに関係なく単一の KO テンプレートで変数を使用できるようにしたいと考えています。
目的は、グローバルが特別な構文なしで常にアクセスできるように、$parentを使用せずに、任意のバインド コンテキスト (KO の foreach 内など) でその 1 つのテンプレートでのみ使用できる一連のヘルパー関数を用意することです。以下の例:
// 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>