2016-02-28 108 views
0

我有兩個(或n個)主要部分,每個部分單擊時顯示6個子部分的列表,其中一個顯示在主內容區域中,另一個5在底部保持可見。在1個列表和1個元素之間交換數據信息

當您點擊其他5個應用程序時,應該交換內容(圖像+標題),主要內容部分現在應該具有來自點擊鏈接的數據和鏈接內容中的信息。

因此,小節列表應該能夠改變位置。

我是knockout.js中的新成員,我認爲在某些方面可以實現這一點,但是我希望在最佳實踐中指出正確的方向,以便我可以從開始這個項目。

回答

2

查看關於foreachtemplate綁定的文檔將會有所幫助。

我會創建一個函數,可以重用n個主要部分。這個函數將有一個ko.observableArray這將包含一個功能的部分。當你點擊一個部分時,它會將該值設置爲ko.observable

function MainSection() { 
    var self = this; 
    self.selectedSection = ko.observable(); 
    self.sections = ko.observableArray(
     [ 
      new Section("Some Data"), 
      new Section("Some Data"), 
      new Section("Some Data"), 
      new Section("Some Data"), 
      new Section("Some Data"), 
      new Section("Some Data") 
     ]); 
    self.selectSection = function(item) { //where item is a Section 
     self.selectedSection(item);  //passed from the click binding 
    }; 
}