Ext.Msg未定义

时间:2015-02-20 06:10:20

标签: extjs extjs4 extjs4.1 extjs4.2

我正在使用ExtJs 4并使用此代码

这是js部分

Ext.onReady(function () {


//button with handler
Ext.create("Ext.Button",{
text : "Hello World",
handler : function(){
Ext.Msg.alert("Hello World Error");
},
renderTo : Ext.getBody()
});

//panel without data
Ext.create("Ext.Panel",{
title : "Hello World Panel",
items : [
Ext.create("Ext.form.field.Text",{
fieldLabel : "Name"
}),
Ext.create("Ext.Button",{
text : "Click"
})
],
renderTo : Ext.getBody()
});

//popup with data
Ext.create("Ext.Panel",{
title : "Hello World Panel",
items : [
Ext.create("Ext.form.field.Text",{
fieldLabel : "Name",
id:"nametext"
}),
Ext.create("Ext.Button",{
text : "Click",
handler : function(){
Ext.Msg.alert(Ext.getCmp("nametext").getValue());
}
})
],
renderTo : Ext.getBody()
});

});

这是Html部分

   <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css">
   <script type="text/javascript" src="ext-debug.js"></script>
   <script type="text/javascript" src="app.js"></script>

错误:未定义Ext.Msg,但是我能够看到UI,但没有任何处理程序可以工作。

请帮忙

1 个答案:

答案 0 :(得分:0)

问题是了解何时使用ext-all.jsext-debug.jsext-all-debug.js

  • ext-debug.js仅包含框架的一小部分。它旨在用于MVC样式,并将加载requires: [] statement中任何类中声明的所有类。
  • 此版本的生产版本是编译app.js文件(使用Sencha Command编译)
  • ext-all-debug.js包含了传统(非MVC)风格的整个开发框架。
  • ext-all.js包含生产站点的遗留(非MVC)样式的整个框架(在缩小版本中)。

您不应该在案件中使用ext-all.js,而是ext-all-debug.js

另请查看the MVC system以编写更好的可维护代码。