extjs Uncaught RangeError: Maximum call stack size exceeded

extjs Uncaught RangeError: Maximum call stack size exceeded
描述:
引发这一异常的原因可能有多个,这里我只记录我碰到的原因。

我在一个store的beforeload事件监听器里添加了需要发送到后台的参数,代码片段大致如下:
beforeload : function(store, operation, eOpts) {
	operation.params = {
		perspectiveId:this.perspectiveId,
		viewId:this.viewId,
		elementId:this.elementId,
		criteria:this.criteria,
		currency : this.currency,
		view : this.view
	};
	return true;
}


找了半天,发现问题在于我的参数view:this.view,其中this.view是我的视图对象,即界面上可以看到的一个组件,由于该对象包含的属性,方法,还有嵌套属性很多,所以当extjs的框架代码调用encodeObject方法时,抛出了上面说的异常。

解决方案:
显然我不应该把视图对象作为参数传到后台,没有意义,定义自己的Object,然后添加所需的属性即可。

你可能感兴趣的:(call,stack,ExtJs,rangeError,maximum)