我正在开发一个jQuery应用程序。此应用程序是多个jQuery UI Widgets的组合。基本上我想与多个小部件共享一个对象。 对象是 单一主要来源 ,或者您可以说对象是小部件的状态。像angularjs中的服务之类的东西。
每个小部件都将与对象进行交互,以添加一些数据或删除一些数据。完成交互后,可以将对象保存在DB或本地存储中。
以下是我的应用结构的简单版本
src
- app.state.js
- widgetA.js
- widgetB.js
在app.state.js中,我已经在" $"中声明了我的对象。
示例:
$.ab.state =
{
title: "",
description: "",
items: [],
score: 0
}
现在可以在widget的js文件中直接访问此对象。我觉得这不应该是这样的。应该有一个接口。
问题是widgetA可能会意外地改变状态中的属性,这是不应该做的。
widgetA应该更新状态中的以下信息 object" title"," description"。
widgetB应该更新"项目" &安培; "得分"中的属性 国家对象。
是否有适合此类应用程序建模的良好设计模式?或者请推荐最佳做法。