0
我在頁面上有兩個Knockout組件,需要進行通信。在頁面上鍊接兩個內部Knockout組件的最佳方式是什麼?
<grid params='pPager: pPager, pGrid: pGrid, pageSize: 5'>
</grid>
<div style='float:right;'>
<pager params='pPager: pPager, pGrid: pGrid'></pager>
</div>
在頁面我有:
viewModel: function (params) {
this.pGrid = ko.observable();
this.pPager = ko.observable();
}
pGrid和pPager都隨參數轉發到電網和尋呼機。 pPager和pGrid是可觀察對象,這意味着每個組件都可以獲取有關創建其他對象的信息。我們不知道哪個組件首先被實例化。
此外,每個組件僅在獲得實例化之後呈現標記。
嘗試 http://jsfiddle.net/SlavkoPar/066kzxjz/
有沒有更好的方式來連接兩個內擊倒成分?
好。另一種獲得父組件的方式是: 'ko.bindingHandlers.GridHandler = { init:function(element,valueAccessor,allBindings,viewModel,bindingContext){ viewModel.pContainer = bindingContext ['$ parentContext']。$ component } }' – SlavkoPar