2013-08-27 93 views
0

我想改變變量的值,我做了this後的指令,但值並沒有改變。無法更改按鈕點擊變量的值 - Sencha

我的代碼如下:

Ext.define('MyApp.view.OnlineOffline', { 
extend: 'Ext.Panel', 
alias: "widget.onlineoffline", 

config: {  
onlineStatus: 0, 
items: [ 
{ 
xtype: 'container', 
layout: 'hbox',  
cls: 'offline-wrap', 
items:[ 
{ 

xtype: 'image', 
cls: 'offlineCheck', 
id:'onlineButton',  
width: 85,  
height:20,  
listeners: { 
tap: function (button) 
{ 
var me = button.up('onlineoffline') 
if (!Ext.device.Connection.isOnline()) 
{ 
Ext.Msg.alert('Please connect to <br/>working internet Connection?'); 
this.element.removeCls('onlineCheck'); 
this.element.addCls('offlineCheck'); 
me.setonlineStatus(1); 
} 
else { 
if(me.getOnlineStatus()) 
{ 
console.log('connection yes if' + me.getOnlineStatus());     
me.setOnlineStatus(1); 
this.element.removeCls('onlineCheck'); 
this.element.addCls('offlineCheck'); 
} 
else{ 
this.element.removeCls('offlineCheck'); 
this.element.addCls('onlineCheck'); 
me.setOnlineStatus(0); 
console.log('connection yes else' + me.getOnlineStatus());          
} 
} 
} 
} 
},   
] 
}] 
} 
}); 

回答

1

這裏有兩件事情......

首先,要初始化me作爲全局變量,這是一個壞主意。而不是這樣做,得到一個參考你所使用的按鈕都爲me

listeners: { 
    tap: function (button) { 
     var me = button.up('onlineoffline') 
     ... 

你有,因爲你調用了錯誤的函數問題引起的。您的config參數定義爲onlineStatus,但您致電setonlinestatus()。改爲撥打me.setOnlineStatus()。生成的吸氣劑和二道過濾器的駱駝腸衣將完全按照您的config參數完成,但第一個字母將會大寫。

+0

我照你所說的做了,但價值不變。在按鈕水龍頭條件下只去其他不去如果。 – surhidamatya

+0

在你的'if'語句中,你仍然需要使用'me.getOnlineStatus()',因爲'me.onlineStatus'不起作用。 – kevhender

+0

完成但價值沒有變化。它控制檯連接yes else0 – surhidamatya