ExtJs 4 클래스의 정의 방식 개선

1310 단어 ExtJs
Extjs 3에서는 다음과 같이 클래스를 정의합니다.
 
MyApp.LoginWindow = Ext.extend(Ext.Window, {
    title: 'Log in',
 
    initComponent: function() {
        Ext.apply(this, {
            items: [
                {
                    xtype: 'textfield',
                    name : 'username',
                    fieldLabel: 'Username'
                },
                ...
            ]
        });
 
        MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
    }
});

Extjs4에서 다음으로 변경:
 
 
 
Ext.define('MyApp.LoginWindow', {
    extend: 'Ext.Window',
 
    title: 'Log in',
 
    initComponent: function() {
        Ext.apply(this, {
            items: [
                //as above
            ]
        });
 
        MyApp.LoginWindow.superclass.initComponent.apply(this, arguments);
    }
});
 

이렇게 하면 두 가지 좋은 점이 있다.
 
  • My App namespace를 잊어버리는 경우는 없습니다
  • Ext. Windows의 정의된 위치가 My App보다 높으면Login Window가 늦습니다. 4를 사용하면 Login Window가 Ext. Window의 정의를 찾았다는 것을 알 수 있습니다
  • 좋은 웹페이지 즐겨찾기