Tôi biết bạn đã chấp nhận câu trả lời là tốt. Tôi chỉ muốn thêm một cách MVC để bao gồm các biến không gian tên có sẵn cho ứng dụng. Có một báo trước cho các 'globals' này - bạn không thể sử dụng chúng trong các định nghĩa lớp của bạn. Có nghĩa là bạn không thể tham chiếu ứng dụng của mình theo phương thức Ext.define({})
. Chúng phải được sử dụng theo phương thức initComponent
hoặc mới hơn.
Vì vậy, đây là những gì tôi làm:
Ext.application({
name:'MyApp',
appFolder:'js/app',
controllers:[ 'Main' ],
autoCreateViewport : true,
launch:function() {
console.log("App Launched!");
MyApp.app = this; //added this to get reference to app instance. IMPORTANT!
},
//variables used throughout the app
globals:{
myURL:'http://example.com',
magicNum:5
}
});
Để sử dụng các biến rộng ứng dụng mà bạn tham khảo không gian tên ứng dụng của bạn và do đó, không gây ô nhiễm không gian toàn cầu. Như thế này:
MyApp.app.gloabals.magicNum
Related: http://stackoverflow.com/questions/9261458/where-should-i-define-global-functions-in-extjs-4-mvc – Qtax