안녕 내 응용 프로그램의 어디서나 사용할 전역 변수를 정의해야합니다. 전역 변수 baseUrl을 내 app.js에 선언합니다. 이 글로벌 변수 sencha touch 2.1
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',
},
}
}
});
가 그럼 난 내 model.js에 basedUrl을 사용
//<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
을 app.js 아래를 참조하시기 바랍니다. 브라우저를 사용하여 볼 때 작동 할 수 있습니다. 내 응용 프로그램을 컴파일 엽차 응용 프로그램 빌드 테스트를 사용할 때, 나는 열 브라우저를 사용하고 나에게 오류 메시지가 catch되지 않은 형식 오류를 보여 주었다 : 정의되지 않은의 특성 'base을'을 읽을 수 없습니다. 어떤 생각?
아래 답변이 도움이 되었습니까? – Gendaful