是否有任何方法可以爲KO定義(缺少更好的術語)「半全局」變量?Knockout.js模板範圍內的半全局變量
我想讓一個變量可用於單個KO模板,而不管上下文是什麼,同時保持實際的全局範圍和其他模板。
的目標是有一組輔助功能,如果不使用$父只適用於在任何有約束力的情況下(例如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>
這是我目前的後備解決方案。不理想,因爲助手將在模板之間共享,但有些作品。我會等待一些其他答案,如果沒有其他的工作,我會接受你的答案。 – jpeltoniemi 2013-02-18 21:20:11
對不起,我似乎還沒有理解你的問題。我以爲你想在不同模型之間分享一些變量,而不是在一個模型的上下文之間。 :) – 2013-02-19 06:37:45
沒問題。我也可以在這個問題上表達自己更好:) – jpeltoniemi 2013-02-19 13:05:21