Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道带主干线的前端模型何时发生变化?_Javascript_Angularjs_Backbone.js - Fatal编程技术网

Javascript 如何知道带主干线的前端模型何时发生变化?

Javascript 如何知道带主干线的前端模型何时发生变化?,javascript,angularjs,backbone.js,Javascript,Angularjs,Backbone.js,我可能不理解一些基本逻辑,所以希望你能给我解释一下 当我创建一个模型时,向它传递一个ID,然后获取它,主干将模型标记为已更改(调用changedAttributes()返回所有对象属性) 在前端修改对象属性时,它也会将模型标记为已更改,只有该属性由changedAttributes()返回 那么,如何区分前端所做的更改(因此,不是持久化的)和来自服务器的更改呢?(是否有任何具体事件?) 我问这个问题的原因是,如果前端发生了一些更改或者用户退出,我希望一次又一次地保存我的模型 [编辑] 我的场景是

我可能不理解一些基本逻辑,所以希望你能给我解释一下

当我创建一个模型时,向它传递一个ID,然后获取它,主干将模型标记为已更改(调用
changedAttributes()
返回所有对象属性)

在前端修改对象属性时,它也会将模型标记为已更改,只有该属性由
changedAttributes()
返回

那么,如何区分前端所做的更改(因此,不是持久化的)和来自服务器的更改呢?(是否有任何具体事件?)

我问这个问题的原因是,如果前端发生了一些更改或者用户退出,我希望一次又一次地保存我的模型

[编辑] 我的场景是(我使用Angular):

我的页面的URL的格式为:object/#/:id

我的页面是对象(一些输入)的编辑器


当URL中的ID更改时,我从服务器获取相应的对象。但是如果已经有了一些东西(比如用户手动更改ID),我需要先保存对对象所做的任何操作。

主干中没有对模型/集合更改的实际跟踪,这会告诉您更改了什么或是否有更改。你必须自己做这件事


当然,您可以检查当前更改循环的更改。因此,在事件处理程序中,您可以使用类似于
model.on(“change”,()=>…)
。您可能希望实现一个处理程序函数,跟踪更改,并在将更改保存到服务器上后重置它。

主干中没有对模型/集合更改的实际跟踪,它会告诉您更改了什么或更改了什么。你必须自己做这件事


当然,您可以检查当前更改循环的更改。因此,在事件处理程序中,您可以使用类似于
model.on(“change”,()=>…)
。您可能希望实现一个处理函数,跟踪更改,并在将更改保存到服务器上后重置它

文档中说“自上次设置以来已更改的模型属性”,因此您是调用set/调用set的内部方法的人。您怎么能不知道模型数据是否已更改?你能举个例子吗?我更新了帖子。希望有帮助。我不明白的是,如果不是在获取之后,模型的状态何时设置为“干净”(或“未更改”)。可能是在您第一次创建它时,直到您执行第一个设置为止。所以你用的是角度+主干线。。。那太疯狂了。。。你为什么这么做?我怀疑这会有个好结局。。。无论如何,祝你好运……文档上说“模型的属性自上次设置以来已经更改”,所以你是调用set的set/内部方法的人。你怎么能不知道模型数据是否已更改?你能举个例子吗?我更新了帖子。希望有帮助。我不明白的是,如果不是在获取之后,模型的状态何时设置为“干净”(或“未更改”)。可能是在您第一次创建它时,直到您执行第一个设置为止。所以你用的是角度+主干线。。。那太疯狂了。。。你为什么这么做?我怀疑这会有个好结局。。。不管怎样祝你好运。。。