我的应用程序的逻辑非常简单。我有获取 JSONP 的模型(数据包含年、季度和季度包含不同的键:值)。获取数据后,View 会监听 Model 的“change”事件,然后渲染数据。到现在为止还挺好。
但随后我需要监听“change:year”/“change:quarter”并根据更改使用新的 url 获取数据。但是当 "change:year"/"change:quarter" 被触发时,全局 "change" 也会被触发。
当然,如果我将使用 Collection 而不是 Model – 对我来说就是“重置”。但在这种情况下,我不能这么容易地听“change:year”——我必须再创建几个模型(对于年、季度和季度中的每个键)。但我想让应用程序保持简单。
还有其他方法吗?或者创建更多模型是不可避免的?
谢谢。
UPD:仍然需要“更改”事件,因为模型必须在获取新数据后重新渲染。
解决方案:我创建了通用控制器,它包含需要更改的属性。并在 .url() 方法中从 Controller 获取它们以修改 url。我坚持使用 Collection 的 fetch()/"reset" 通知并在“更改”时为 Controller 设置监听器。因此,当我更改“年”/“季度”时,视图会从控制器获取通知,并且当相应的集合获取时 - 它正在使用新的 url 获取。