4.1里也一样,必须加Ext.Loader.setConfig({enabled: true});
4以上不能直接在app.js里写 Ext.Msg.alert('test');无效,必须写成
Ext.onReady(function(){Ext.Msg.alert('test')});
ndex.html
<html> <head> <title>Hello Extjs4</title> <link rel="stylesheet" type="text/css" href="ext-4.0/resources/css/ext-all.css" /> <script type="text/javascript" src="ext-4.0/ext-all-debug.js"></script> <script type="text/javascript" src="app.js"></script> </head> <body>
app.js
//某些版本默认值是false,如果不打开就不能实现mvc Ext.Loader.setConfig({enabled: true}); Ext.application({ //名称空间,或理解为包名 name:'AM', //mvc目录,是相对于当前文件的目录,举个例子比如 ../extmvc/app appFolder:'app', //类名 controllers: [ 'Users' ] //借助以上三个条件,目录,名称空间,类名 才能找到对应的那个控制器 });
app目录结构必须按mvc的要求建立,比如控制器必须位于
app/controller/目录下, 创建 app/controller/Users.js
//定义一个Users类,它继承自Ext.app.Controller,所以就是一个控制器 //这个控制器的类名是Users, 名称空间是AM,和 app.js中name:'AM' 对应,这样才可以找到这里 //init就是控制器的处理函数了,相当于struts中action里的execute Ext.define('AM.controller.Users', { extend: 'Ext.app.Controller', init: function() { alert("init function in app/controller/Users.js is running........"); } });