2016-02-28 65 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 
    }; 
}