Javascript EXT JS表单面板中initComponent和onRender之间的差异

Javascript EXT JS表单面板中initComponent和onRender之间的差异,javascript,user-interface,extjs,Javascript,User Interface,Extjs,这两种不同的方法在功能上有什么不同?它可以将什么放入initcomponent,以及将在onRender中放入什么样的内容?initcomponent在构建组件的早期被调用,onRender在呈现组件时发生。通常,组件的大部分构造都是在initComponent类上进行的,也就是说,如果要扩展网格,可以在initComponent方法中构建列模型、存储、插件等。如果您想在渲染时执行任何特殊操作,onRender可能非常有用,但它不如initComponent常用 这是一个构建组件的好例子:ini

这两种不同的方法在功能上有什么不同?它可以将什么放入initcomponent,以及将在onRender中放入什么样的内容?

initcomponent在构建组件的早期被调用,onRender在呈现组件时发生。通常,组件的大部分构造都是在initComponent类上进行的,也就是说,如果要扩展网格,可以在initComponent方法中构建列模型、存储、插件等。如果您想在渲染时执行任何特殊操作,onRender可能非常有用,但它不如initComponent常用


这是一个构建组件的好例子:

initComponent在构建组件的早期被调用,onRender在呈现组件时发生。通常,组件的大部分构造都是在initComponent类上进行的,也就是说,如果要扩展网格,可以在initComponent方法中构建列模型、存储、插件等。如果您想在渲染时执行任何特殊操作,onRender可能非常有用,但它不如initComponent常用


这是一个构建组件的好例子:

这可能有帮助:

这可能有帮助:

回答得好。是否可以在
initComponent
中进行Ajax调用,以获取一些数据并用其填充UI?是的,您可以在任何函数中发出Ajax请求。您遇到的问题可能是因为回调方法试图操作组件上可能尚未呈现的属性,因此您可能会出错。是的,我确实遇到了这个问题。我该怎么克服呢?很抱歉没有早点回复。您可以让ajax成功回调方法在事后修改该组件。或者有一个名为ext basex的库,它通过允许您指定ajax请求是同步的来为ajax请求添加功能,只需在ajax请求配置中添加“async:false”。回答得好。是否可以在
initComponent
中进行Ajax调用,以获取一些数据并用其填充UI?是的,您可以在任何函数中发出Ajax请求。您遇到的问题可能是因为回调方法试图操作组件上可能尚未呈现的属性,因此您可能会出错。是的,我确实遇到了这个问题。我该怎么克服呢?很抱歉没有早点回复。您可以让ajax成功回调方法在事后修改该组件。或者有一个名为ext basex的库,它通过允许您指定ajax请求是同步的来为ajax请求添加功能,只需在ajax请求配置中添加“async:false”。