我想学习Extjs,我立即想出一个问题。我的Html已正确包含ext-base.js
和ext-all.js
。然后我在我的js文件如下:Extjs布局扩展在ext-all.js中导致错误
Ext.BLANK_IMAGE_URL = '<%= Url.Content("~/Content/ext/images/default/s.gif") %>';
Ext.ns('MyNamespace');
Ext.onReady(function() {
alert("onReady() fired");
});
到目前为止,一切正常,没有错误和警告正确抛出。然后我onReady后添加以下代码:
MyNamespace.BaseLayout = Ext.Extend(Ext.Viewport({
layout: 'border',
items: [
new Ext.BoxComponent({
region: 'north',
height: 32,
autoEl: {
tag: 'div',
html: '<p>North</p>'
}
})
]
}));
这将导致在镀铬以下JavaScript错误:
Uncaught TypeError: Object #<an Object> has no method 'addEvents' ext-all.js:7
Ext.Component ext-all.js:7
Ext.apply.extend.K ext-base.js:7
Ext.apply.extend.K ext-base.js:7
Ext.apply.extend.K ext-base.js:7
(anonymous function) MyApp.js:13 (pointing to the Ext.Extend line)
如果我参加了视口代码,并把它直接进入OnReady功能它(如以下)
Ext.onReady(function() {
var bl = new Ext.Viewport({
layout: 'border',
items: [
new Ext.BoxComponent({
region: 'north',
height: 32,
autoEl: {
tag: 'div',
html: '<p>North</p>'
}
})
]
});
});
它的工作原理。任何人都可以告诉我,我在做什么错误的Extend方法?
只是注意 - 有没有需要覆盖的OnRender,除非有将是一些实际的代码在里面。 (以防万一有人过来,并从这个答案复制/粘贴。) – 2010-11-10 07:56:09
是的,我得到了我从读Saki的博客写的代码,但当我回去使用它作为参考时,我显然认为有围绕'ViewPort'调用。愚蠢的我 :)。谢谢! – KallDrexx 2010-11-10 13:02:01
@bmoeskau:感谢提示 – rwilliams 2010-11-10 14:38:32