3

我目前正在编写一份报告,其中包括一些用于数据过滤的输入元素和一个显示集合中相应数据的表格。

我的子视图遵循 Addy Osmani 的子视图解决方案。所以我有

  • 一个报告视图,它具有:
    • 标题子视图
    • 切换子视图
    • 表子视图

切换子视图基本上是一个锚元素,具有三角形背景并基于类翻转。

切换子视图有两个任务

  1. 收听点击事件并通过更改类来翻转它。
  2. 为显示和隐藏状态操作父视图的(报告视图)类。

我的问题是更改报表视图类的逻辑应该在哪里?在子视图中?还是父视图?
如果它在父视图中,我该如何调用该方法

  • 直接通过传递 parentView 作为参数并从子视图 this.parentView.toggleReport()
  • 再次将 parentView 作为参数传递并在父视图上触发事件。
  • 只需在切换视图范围之外操作 dom。

4

1 回答 1

3

让父视图监听切换视图上的自定义事件,并采取相应的行动。

在父视图内部:

this.toggleView.on('toggle', this.toggleReport, this);

在您翻转自己的类的切换视图中,还输入一个:

this.trigger('toggle'); // or this.trigger('toggle', stateOfTheToggle);

另一种选择是使用 aModel来表示切换的状态,并在父视图和切换视图之间共享它......并绑定到其上的事件。

于 2012-10-19T16:07:39.943 回答