模型视图控制器 - JavaScript 状态到函数序列处理(MVC,依赖函数)
model view controller - JavaScript state to function sequence handling (mvc, dependent functions)
>我有一个用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 架构以正确的顺序简化状态处理和函数调用?
谢谢。
让你的国家/地区列表成为 Backke.Collection 并收听其中的事件(通常添加、删除、刷新)。正如 alexanderb 解释的那样,将您的事件链接到渲染调用。
你可以利用主干.js事件来实现这一点。一旦状态更改,就会触发"状态更改"事件。不同的订阅者使用它并执行逻辑的一部分(更新,渲染等)
http://documentcloud.github.com/backbone/#Events-bind
相关文章:
- 如何让 AJAX 函数处理提交表单
- Jquery onmouseover()函数处理动态html图像和span
- 如何在ajax调用完成之前停止函数处理
- 如何跨多个函数处理Promise
- JavaScript 函数中的 JQuery 函数 :: 处理.js.
- 覆盖 jquery .load() 函数 - 处理回调
- 调用 Javascript 函数处理表单后,HTML 表单未打印到浏览器
- 如果选中单选按钮,则调用函数处理程序
- 我们如何在错误的资源请求的情况下使用 XMLHttpRequest 函数处理程序
- Javascript 对象或函数处理程序的新函数
- 函数处理 mootools.floor 不工作
- 如何将函数处理程序从控制器传递到 AngularJs 中的指令隔离范围
- Javascript闭包和前后函数处理程序
- position()被当作函数处理
- 存储/导入变量&函数处理(JS)
- 如何使用Out回调函数处理JQueryAjax结果
- 在事件上填充数组,并在事件函数处理程序外部访问它
- 如何在JavaScript中从嵌套函数处理程序返回
- 用一个函数处理多个事件
- 通过单个javascript函数处理两个表单