0

我正在开发一个 JavaScript 应用程序,它应该基于 URL 哈希中的设置或基于用户交互来呈现可视化。

(目前我将 Backbone.js 用于 MVC,但我认为这些问题可能被认为与框架无关......?)

假设用户正在查看应用程序状态,其中指示器 A 和指示器 B 已选中。用户将指标 B 更改为 C,会发生什么?

好吧,更改指标应该导致模型等待新数据被获取和操作。

...然后,当然,更改指标将对不同的视图产生许多影响:

  • 要显示的可用实体将发生变化
  • 尺度会变
  • 指标标签会改变,等等,等等......

这个阶段的一个问题是如何处理所有这些因/计算变量?

在这种情况下,模型现在是否应该根据指标的变化来跟踪数据可用性和规模等?因此,它是否也应该触发所有这些计算属性的更改事件?

无论如何,现在必须通知“主可视化控制器”有关模型的更新,但它是如何进行的呢?

在这种情况下,指示器发生了变化,这应该会导致添加和减去图标、更改标签等。

在另一种情况下,只有年份可能会改变。控制器是否应该运行另一条路径?

在第三种情况下,年份和指标都可能发生变化(例如,当设置了初始 URL 哈希时)......还有另一组要在链中触发的函数?

我正在寻找一种处理这些不同场景的强大方法,以便我可以跟踪何时会发生什么。我特别感兴趣的是您对模型中保留哪些属性以及如何布局控制器功能的意见,以便能够对模型进行小的用户交互更改以及多属性更改。

4

1 回答 1

0

我对backbone.js非常陌生,所以把我的建议当作所有的盐,其中有一些内容的可能性很小。

如果我正确理解(其中一个)您的担忧,那么您不喜欢在进行更改时完全重新呈现视图的想法;但是您仍然喜欢仅将一个视图附加到该模型的想法,如果是这种情况,您是否可以创建多个渲染事件并将它们绑定到该特定属性更改?

this.model.bind('change:propertyA', _.bind(this.renderA, this));
this.model.bind('change:propertyB', _.bind(this.renderB, this));
于 2011-08-18T18:26:56.573 回答