2014-01-08 91 views
0

我有內部with標籤

<div id="mapContainer" data-bind="with: contentTabs"> 
    ............ 
      <div id="map" data-bind="createMap: { }"></div> 
    ............ 
</div> 

自定義綁定自定義綁定定義如下

ko.bindingHandlers.createMap = { 
    init: function(element, valueAccessor, allBindingsAccessor, viewModel) { 
     //Some code which accesses the viewModel 
     .... 
    } 
} 

「視圖模型」的定義綁定的參數是指「contentTabs」變量(在定義的「與「上面的綁定)。

我想以一種乾淨的方式從自定義綁定中訪問視圖模型(根)。

可能嗎?

在用「with」綁定封裝自定義綁定之前,代碼運行良好。 - 如何將「$ root」傳遞給自定義綁定?

回答

1

在該值只傳遞作爲額外的結合 -

<div id="map" data-bind="createMap: { }, createMapOptions: { parentContext: $root.something }"></div> 

然後在您的自定義綁定得到其他綁定的價值 -

ko.bindingHandlers.createMap = { 
    init: function(element, valueAccessor, allBindingsAccessor, viewModel) { 
     var options = allBindingsAccessor().createMapOptions; 
     var thisContext = options.parentContext; 
    } 
} 
相關問題