Javascript 跟踪淘汰事件

Javascript 跟踪淘汰事件,javascript,knockout.js,dom-events,knockout-2.0,Javascript,Knockout.js,Dom Events,Knockout 2.0,我有一个基于KnockoutJS2.2.1创建的jQuery网格插件。到目前为止,它进展顺利,但是当插件在一个元素上初始化时,“computed”loadGrid方法调用了3次 仅作为一个小上下文,我将包括loadGrid方法和一些其他相关代码。(实际的插件相当大,所以为了简单起见,我只包括部分插件) 请注意,此计算的唯一依赖项是self.gridState,据我所知,它没有改变 我需要确定是什么导致初始化调用加载3次。我知道loadGrid在定义时会被调用(b/c deferEvaluatio

我有一个基于KnockoutJS2.2.1创建的jQuery网格插件。到目前为止,它进展顺利,但是当插件在一个元素上初始化时,“computed”
loadGrid
方法调用了3次

仅作为一个小上下文,我将包括
loadGrid
方法和一些其他相关代码。(实际的插件相当大,所以为了简单起见,我只包括部分插件)

请注意,此计算的唯一依赖项是self.gridState,据我所知,它没有改变

我需要确定是什么导致初始化调用加载3次。我知道loadGrid在定义时会被调用(b/c deferEvaluation==false),但我需要找出引发其他两个事件的原因

那么对于这个问题……什么是跟踪什么事件导致计算机重新评估的方法?

另一方面,我设置了
deferEvaluation:true
,但当我发出

gridDataModel.gridState.currentPage.valueHasMutated()

计算机没有开火。因此,我甚至可以让计算结果正常工作的唯一方法是,如果“源”选项卡上的Chrome开发者工具可能会有所帮助。只需查看右侧的面板,它将允许您在各种DOM元素上设置断点


请参阅脚本面板(现在命名为“源代码”面板)或获取更多帮助。

我使用knockoutjs chrome插件,我使用KO消息,这样您就可以在控制台上显示内容。我过去所做的事情的例子

self.messages.push(response.msg);

loadGrid
有四个依赖项:
currentPage
pageSize
totalPages
orderBy
。对其中任何一项的更改都将导致
loadGrid
更新。
self.messages.push(response.msg);