2013-08-27 48 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