观察或通知 属性 变化的推荐方式?道场MVC

Recommended way to observe, or notify of property changes? Dojo MVC

给定一个使用 dojo dmodel 库创建的数据模型,是否有推荐的方法来观察 属性 变化,并在模型中设置 属性 值?

我是否应该通过创建 属性 对象并使用 'observe' 来观察它们的变化?

主题系​​统是可以接受的替代方案吗?我的意思是我可以发布数百个主题并将订阅者分散在不同小部件中的所有其他应用程序中吗?

您可以直接使用文档中所述的 dojo dmodel 库:

Once we have the property object, we can access meta-data, watch, and modify this property. Source.

nameProperty.observe(function(newValue){
    // called with original value and each change
});
nameProperty.put("Mark");

您可以使用 dojo/topic 在 JavaScript 中实现 Publish/Subscribe Pattern 这基本上允许您拥有一个用于发布和订阅全局消息的集中式集线器(它可以跨您的 AMD 模块工作).

因此您可以使用 dmodel 中的 .observe() 来查看您的属性,当 属性 更改时,您可以使用 [=11= 通知应用程序(模块)的其他部分].