javascript视图和子视图设计模式

时间:2013-09-26 21:29:58

标签: javascript oop views

我想知道如何使用Javascript OOP方法处理视图和子视图。这是基本任务:我想创建一个水平的,可滑动的窗格列表。滑动元素本身将是一个视图,在其中我将有许多子视图 - 每个窗格一个。我目前的方法看起来像这样:

function Swipe(el){
  this.el = el;
  var els = el.querySelectorAll('li');
  this.subviews = els.map(function(li){
    return new Pane(li);
  }, this);
}

Swipe.prototype.goto = function(num){
  // alter this.el to show the current pane, based
  // on index. 
}

function Pane(el){
  this.el = el;
}

Pane.prototype.bind = function(){
  // bind click events
}

这种设计模式对我来说效果不错,但从子视图访问父视图的最佳方式是什么?在构建子视图时,我已经过了this,就像这样:

this.subviews = els.map(function(li){
  return new Pane(li, this);
}, this);

function Pane(el, parent){
 this.el = el;
 this.parent = parent;
}

这允许我从父视图调用函数 - 例如,我可以使用goto函数来响应单击的子视图按钮。但我猜这不是最佳选择。

所以我的问题:处理视图和子视图的最佳方式是什么,特别是子视图从父视图调用函数的能力?

0 个答案:

没有答案