日期:2014-05-16  浏览次数:20343 次

Extjs4 MVC 使用
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........");
	}
});