Javascript 余烬观察到的属性,管理模型中的更改
我已经创建了一个大纲,概述了一些细节 我的问题是,在不使用Ember数据的情况下,如何在Ember中实现一个可以观察所有绑定的类,并在对模型进行更改时,根据模型对象中数据的键路径将观察到的属性转换为URL。然后,我可以从那里开始 请参阅,因为那里有一个应用程序设置,并且为您准备好了 重述。我试图将钩子连接到模型中,在任何更改时,检测更改了什么,更改数据的关键路径是什么,获取新数据并将关键路径转换为url 我还将在这里提供模型的预览和模型的示例urlJavascript 余烬观察到的属性,管理模型中的更改,javascript,ember.js,Javascript,Ember.js,我已经创建了一个大纲,概述了一些细节 我的问题是,在不使用Ember数据的情况下,如何在Ember中实现一个可以观察所有绑定的类,并在对模型进行更改时,根据模型对象中数据的键路径将观察到的属性转换为URL。然后,我可以从那里开始 请参阅,因为那里有一个应用程序设置,并且为您准备好了 重述。我试图将钩子连接到模型中,在任何更改时,检测更改了什么,更改数据的关键路径是什么,获取新数据并将关键路径转换为url 我还将在这里提供模型的预览和模型的示例url Obj = Em.Object.create(
Obj = Em.Object.create({
a: 'a',
b: 'b',
c: 'c',
d: Em.A([
{
da: 'da',
db: 'db',
dc: 'dc'
},{
da: 'da',
db: 'db',
dc: 'dc'
}
])
});
假设路径Obj.d[0].db使用新数据更新。那么url将是
http://api.domain.com/d/0/db/
一些参考资料对我有所帮助:
你能告诉我们你为什么需要这个吗?我怀疑有更好的方法来设计你想要实现的东西。您是否明确知道您希望事先遵守哪些关键点?也就是说,您是否事先知道这些属性的名称,或者您是否想要一个不那么硬编码的解决方案?我问你,因为你的例子使用了虚拟变量名。我确实知道键名,但我不知道在任何数组中有多少索引,我必须对它们进行计数。一个较少硬编码的解决方案绝对是理想的,因为在我看来,它更具可扩展性。我有一个JSON数据结构,需要通过web套接字与其他用户实时同步node、express、socket.io。很明显,我可以在一段时间后发送整个数据结构,但这样做效率低,并且有更大的冲突可能性。我想为每个字段分配一个唯一的url,以便有效负载从20-80kb的大文档扩展到<1kb。此外,系统需要设计为5000多名同时使用的用户。您是否还希望对象嵌套在数组和对象的任意深度,从而产生api.domain.com/d/0/4/a/nestedkey/等url,或者只是达到了问题中指定的级别?为了澄清这一点,您实际上希望在所有用户之间保持单例JSON对象的同步,并且您正在使用服务器进行同步。所以我说真正的问题是如何确定发生变化的属性的路径,URL的构造与您与Ember的交互方式无关,对吗。?