我希望能夠通過結合屬性創建綁定上下文,以類似的方式如何with
綁定工作:組結合上下文屬性
<div data-bind="with: myData">
<button data-bind="text: myHeader"></button>
</div>
但我不希望使用with
因爲它重新創建HTML元素(在我的例子button
)每次myData
更改,請參閱http://knockoutjs.com/documentation/with-binding.html:
如果提供了表達涉及任何觀察到的值,則 表達將重新評估W¯¯沒有任何這些可觀察到的變化 。然後,後代元素將被清除,標記的新副本 將被添加到您的文檔中並綁定到新評估結果的上下文 中。
所以我需要類似with
結合的東西,比方說,一個context
結合:
<div data-bind="context: myData">
<button data-bind="text: myHeader"></button>
</div>
<button>
現在被綁定到myData
背景,所以我沒有寫:
<div>
<button data-bind="text: myData().myHeader"></button>
</div>
這也描述在 http://www.knockmeout.net/2012/03/knockoutjs-performance-gotcha-1ifwith.html
帶綁定對綁定對象/模型非常方便,並有助於保持 的數據綁定屬性變得過於冗長。然而,理解具有綁定的 將重新呈現整個部分,只要其綁定的 值發生更改就很重要。
這樣的事情存在於KO嗎?