Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Angularjs ng表,多次调用getData,为什么?_Angularjs_Ngtable - Fatal编程技术网

Angularjs ng表,多次调用getData,为什么?

Angularjs ng表,多次调用getData,为什么?,angularjs,ngtable,Angularjs,Ngtable,由于某种原因,当getData使用angular resource获取数据时,它会被调用两次,导致资源也执行两次REST请求当您调用params.count(…)时,您会在更改页面大小时请求ng table刷新数据。这就是为什么你有两个获取数据的电话 如果不想进行分页,请删除params.count和params.total调用。 如果需要分页,请设置页面大小,不要在getData中更改它。这件事发生在我身上的原因很奇怪。getData仅在初始化(第一次加载)时被调用两次。更改页面或排序没有两次

由于某种原因,当
getData
使用angular resource获取数据时,它会被调用两次,导致资源也执行两次REST请求当您调用params.count(…)时,您会在更改页面大小时请求ng table刷新数据。这就是为什么你有两个获取数据的电话

如果不想进行分页,请删除params.count和params.total调用。
如果需要分页,请设置页面大小,不要在getData中更改它。

这件事发生在我身上的原因很奇怪。getData仅在初始化(第一次加载)时被调用两次。更改页面或排序没有两次调用getData。原因是在初始化时ng table指令隐藏在模板文件中。

谢谢@Alexander Vasilyev。正如你所说,我理解我的问题。我想在这里再解释一下。事实上,对象“params”是表ng table的对象配置,如果“params”更改(例如:count或对象的属性),ng table将调用函数getData()刷新表。 在我的例子中,我想获取对象“params”中的信息并对其进行更改,但我不想刷新ng表。我通过克隆对象“params”来完成这项工作,并复制了他的对象。使用jQuery克隆JS中的对象:

var resultParams = jQuery.extend(true, {}, params.$params);

然后,我将处理对象结果图,而不是原始的“参数”。

你说得对。。。看起来该表是在计数/筛选/分组/分组比/页面/排序时重新加载的。谢谢
var resultParams = jQuery.extend(true, {}, params.$params);