0

Я хочу показать некоторые опции подборщика только при входе пользователя в систему.Условие для вошедшего == верно

Так что я попытался ====>

Я добавил глобальную переменную в alloy.js >>

var aux=0; 

И в моем index.js я сделал >>

loginReq.onload = function() 
{ 
    var json = this.responseText; 
    var response = JSON.parse(json); 
    if (response.logged == true) 
    { 
     aux=1; 
     homes.open(); 
     $.index.close(); 
     alert("Welcome " + response.name + ". Your email is: " + response.email); 
    } 
    else 
    { 
     alert(response.message); 
    } 
}; 

последней часть в других home.js контроллера >>

Alloy.Globals.loading.hide(); 
var picker = Ti.UI.createPicker({ 
    left:10, 
    top: 10, 
    height:50, 
    opacity:0.5, backgroundColor: "Black", borderRadius:"2" 
}); 
var data = []; 
data.push(Titanium.UI.createPickerRow({id:'0',title:'Mis cursos'})); 
data.push(Titanium.UI.createPickerRow({id:'1',title:'Todos Cursos'})); 
if(aux===1){ 
    data.push(Titanium.UI.createPickerRow({id:'2',title:'Crear'})); 
} 
picker.add(data); 

Проблема заключается в том, что я пытался использовать if (aux === 1) или if (aux == 1), но не работал ... Всегда не показывайте «Crear» в сборщике. Зачем? Нужна ваша помощь! и спасибо!

ответ

1

Проблема в том, что вы не определяете свою глобальную переменную в alloy.js должным образом.

Как вы определили var aux=0; в alloy.js, поэтому эта переменная доступна только в alloy.js. Для того, чтобы сделать его пригодным для использования в других файлах определить его следующим образом:

В alloy.js:

Alloy.Globals.aux = 0; 

Чтобы принести его в index.js и home.js использования:

var auxValue = Alloy.Globals.aux; 

Значит, ваш home.js будет выглядеть так:

Alloy.Globals.loading.hide(); 
var picker = Ti.UI.createPicker({ 
    left:10, 
    top: 10, 
    height:50, 
    opacity:0.5, backgroundColor: "Black", borderRadius:"2" 
}); 
var data = []; 
data.push(Titanium.UI.createPickerRow({id:'0',title:'Mis cursos'})); 
data.push(Titanium.UI.createPickerRow({id:'1',title:'Todos Cursos'})); 
if(Alloy.Globals.aux === 1){ //changed here 
    data.push(Titanium.UI.createPickerRow({id:'2',title:'Crear'})); 
} 
picker.add(data); 

Примечание: также проверьте правильный способ manage objects in alloy.js

+0

привет! спасибо за ваш ответ, но у меня все еще есть проблема с опцией show «Crear». Я изменил 'var aux = 0;' to 'Alloy.Globals.auxLogin = 0;' как вы сказали. есть мои коды >> [alloy.js] (http://pastie.org/9695468), [index.js] (http://pastie.org/9695783), [home.js] (http: // pastie.org/9695791). Проблема никогда не вводится «IF» ... –

+0

, когда вы сталкиваетесь с проблемой при открытии домашнего контроллера с использованием метода doClick или 'onclick of loginBtn' в index.js? – turtle

Смежные вопросы