extjs4的对象创建。
define( className, data, createdFn )
Ext.define('My.awesome.Class', {
someProperty: 'something',
someMethod: function(s) {
alert(s + this.someProperty);
}
...
});
var obj = new My.awesome.Class();
obj.someMethod('Say '); // alerts 'Say something'
以上是官方的说明。
下面是一个例子。
Ext.define("MyApp.Client",{
name : "John",
lastName : "Doe",
constructor : function(config){
Ext.apply(this,config || {});
console.log("I'm a new client!");
}
});
上面的类包括了两个属性和一个构造方法。
构造方法表示,当新创建对象的时候,如果传入了参数,将使用新的参数代替旧的参数。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>First class</title>
<!-- Importing the stylesheet for the widgets -->
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css">
<!-- Importing the Ext JS library -->
<script type="text/javascript" src="ext-all-dev.js"></script>
<!-- Importing the client class -->
<script type="text/javascript" src="js/Client.js"></script>
<script type="text/javascript">
//creating an instance of Client
var client = Ext.create("MyApp.Client");
console.log(client.name);
client.name = "Carl";
console.log(client.name);
//with params
var client2 = Ext.create("MyApp.Client",{
name : 'Susan',
lastName: 'Smith'
});
console.log(client2.name);
</script>
</head>
<body>
</body>
</html>