【发布时间】:2010-12-15 16:59:26
【问题描述】:
我在渲染我的 EXTJS 网格时遇到了困难,该网格位于 django 应用程序之上。网格仅在某些时候显示。当应该显示网格时,它可以工作。当不应该显示网格时,我从 extjs-core 收到“ct is not defined”错误。我研究了这个错误,它似乎发生在我的<div id="my-grid"> 未定义时。 div 是在 grid.html 中定义的,它只在某些时候加载。
这些是我的文件。
view_main.js - 我在 Ext.onReady 中定义了我的所有对象。
Ext.onReady(function(){
var grid = new Ext.grid.GridPanel({
border: false,
//...
}
grid.render('my-grid') // comment this out and "ct is not defined" goes away
// but the grid never renders in grid.html
base.html - 我的模板扩展的基本 django 文件。该文件还加载了我的 view_main.js 文件。
<!-- Load Script -->
<script type="text/javascript" src="/site_media/js/view_main.js" ></script>
grid.html - 在 EXTJS TabPanel 中呈现的网格 html 文件。
<div id="my-grid" style="border: height: 800px; width: 800px;"></div>
除非显示 grid.html,否则我什至不想尝试渲染我的网格。但是网格不起作用,除非我将 grid.render 放在 view_main.js 中
如果我尝试将渲染脚本放在 grid.html 中,我会得到“网格未定义错误”
<script type="text/javascript" >
Ext.onReady(function(){
grid.render('my-grid');
}
</script>
如何仅在加载 grid.html 时渲染网格?
【问题讨论】: