我有一个用JavaScript编写的“交互式图表应用程序”。
状态以及其他属性包含“当前”数组:
state = {
current: ["USA", "Norway", "Japan"],
[...]
}
将国家/地区添加到此列表(或一般更改状态)时,应触发一系列功能 - 例如:
function add(country){
state.current.push(country);
}
=> updateYmax() then updateScales() then render()
在这种情况下,render()依赖于updateScales(),而updateScales()依赖于updateYmax()。
在JavaScript中,最佳做法是什么?保持上述简单? 您能举例说明使用Backbone.js或其他MVC架构来按正确的顺序简化状态处理和函数调用吗?
感谢。
答案 0 :(得分:2)
让您的国家/地区列表成为Backbone.Collection并从中侦听事件(通常添加,删除,刷新)。将你的事件链接到渲染调用,正如alexanderb解释的那样。
答案 1 :(得分:0)
您可以使用backbone.js事件。状态更改后,您将触发“StateChanged”事件。不同的订户使用它并将其作为逻辑的一部分(更新,渲染等)