[mvvm] KnockOutJS - 在單個視圖中顯示多個ViewModels



Answers

Knockout現在支持多種模型綁定。 ko.applyBindings()方法接受一個可選參數 - 綁定將被激活的元素及其後代。

例如:

ko.applyBindings(myViewModel, document.getElementById('someElementId'))

這將激活限制為ID為someElementId及其後代的元素。

請參閱documentation了解更多詳情

Question

我在想我的應用程序現在變得非常大,太大而無法用一個ViewModel來處理每個View。

所以我想知道創建多個ViewModel並將它們全部加載到一個View中是多麼困難。 注意我還需要能夠將X ViewModel數據傳遞給Y ViewModel數據,因此各個ViewModel需要能夠彼此進行通信或者至少知道對方。

例如,我有一個<select>下拉菜單,選擇下拉菜單有一個選定的狀態,它允許我將<select>所選項目的ID傳遞給另一個Ajax調用,在另一個ViewModel中......

在單個視圖中處理眾多ViewModel的任何觀點都將得到讚賞:)







Links