嗨我需要定義一個全局變量以在我的應用程序的任何地方使用。 我在我的app.js中聲明瞭一個全局變量baseUrl。請參考下面 app.js全局變量sencha觸摸2.1
//<debug>
Ext.Loader.setPath({
'Ext': 'touch/src',//Location of the sencha touch source files
'bluebutton': 'app',
});
//</debug>
Ext.application({
name: 'bluebutton',//Application Path, all classes in you app. For eg blueButton.view.Main.case sensitive
views: ['Main',
'BlueButton.CouponMain',
'BlueButton.CouponList',
'BlueButton.CouponList2',
'BlueButton.CouponList3',
'BlueButton.TransactionMain',
],
stores : [
'BlueButton.GlobalVariable',
],
models : ['BlueButton.GlobalVariable',
'BlueButton.MemberDetail',
],
controllers: ['Main',
'BlueButton.MemberList',
],
requires: [
'Ext.MessageBox',
],
icon: {
'57': 'resources/icons/Icon.png',
'72': 'resources/icons/Icon~ipad.png',
'114': 'resources/icons/[email protected]',
'144': 'resources/icons/[email protected]'
},
isIconPrecomposed: true,
startupImage: {
'320x460': 'resources/startup/320x460.jpg',
'640x920': 'resources/startup/640x920.png',
'768x1004': 'resources/startup/768x1004.png',
'748x1024': 'resources/startup/748x1024.png',
'1536x2008': 'resources/startup/1536x2008.png',
'1496x2048': 'resources/startup/1496x2048.png'
},
//--Global value--
baseUrl: 'http://192.168.251.108:8080',
//--Global value--
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
// Initialize the main view
var LoginLS = Ext.getStore('LoginLS');
LoginLS.load();
var record = LoginLS.getAt(0);
if(record != undefined){
var sessionId = record.get('sessionId');
if (sessionId !=undefined){
var mainView = Ext.getCmp("mainview");
if(!mainView){
mainView = Ext.create('bluebutton.view.Main');
}
Ext.Viewport.setActiveItem(mainView);
}
else
{
var loginView = Ext.getCmp("loginview");
if(!loginView){
loginView = Ext.create('bluebutton.view.Login');
}
Ext.Viewport.setActiveItem(loginView);
}
}
else{
var loginView = Ext.getCmp("loginview");
if(!loginView){
loginView = Ext.create('bluebutton.view.Login');
}
Ext.Viewport.setActiveItem(loginView);
// //--Disable this line --
// var mainView = Ext.getCmp("mainview");
// if(!mainView){
// mainView = Ext.create('bluebutton.view.Main');
// }
// Ext.Viewport.setActiveItem(mainView);
// //--Disable this line --
}
// Ext.create('bluebutton.view.TopMenuList');
},
init: function() {
this.callParent(arguments);
},
onUpdated: function() {
Ext.Msg.confirm(
"Application Update",
"This application has just successfully been updated to the latest version. Reload now?",
function(buttonId) {
if (buttonId === 'yes') {
window.location.reload();
}
}
);
}
});
model.js
Ext.define('bluebutton.model.BlueButton.CouponList', {
extend: 'Ext.data.Model',
config: {
idProperty: 'couponId',
fields: [
{ name: 'couponId' },
{ name: 'couponName' },
{ name: 'description' },
{ name: 'amount' },
{ name: 'couponType' },
{ name: 'merchant_bbID' },
{ name: 'sessionId' },
{ name: 'deviceId' },
],
proxy: {
type: 'rest',
url: bluebutton.app.baseUrl +'/WebCommon/rest/BBWebService/getCouponList',
actionMethods: {
create: 'POST',
read: 'GET',
update: 'PUT',
destroy: 'DELETE'
},
noCache: false, // get rid of the '_dc' url parameter
extraParams: {
sessionId: "1",
merchant_bbID: "merchant1",
},
// timeout:1000,
// listeners: {
// exception: function(proxy, response, operation) {
// alert("Connection Problem");
// Ext.Viewport.setMasked(false); // hide the load screen
//
// }
// },
reader: {
type: 'json',
rootProperty: 'couponList'
},
writer: {
type: 'json',
},
}
}
});
然後我用basedUrl在我model.js。 當我使用瀏覽器查看時,它可以工作。但是當我使用煎茶應用構建測試編譯我的應用程序,
我用瀏覽器打開,它給我的錯誤信息遺漏的類型錯誤:無法未定義讀取屬性「的baseUrl」。任何想法?
下面的答案有幫助嗎? – Gendaful 2013-04-18 23:20:45