我需要使用ext js,我有一个新手问题,我不知道如何在Ext.define中读取变量。
这是我的代码:
Ext.define('AutoPrenotazioni.view.riepilogo.Riepilogo', {
extend: 'Ext.tab.Panel',
xtype: 'app-main',
requires: [
'Ext.MessageBox',
'Ext.layout.Fit'
],
controller: 'main',
items: [
{
title: 'Home',
layout: 'fit',
items: [{
xtype: 'mainlist'
}]
},{
title: 'Prenota Auto'
},{
title: 'Auto Prenotate'
},{
title: 'Gestisci Parco Auto',
hidden: function(){
if(localStorage.getItem("Admin") == 'Si'){
return false;
}else{
return true;
}
}
}
],
listeners: {
activeitemchange: function(homepnl, value, oldValue){
console.log(value.title);
return false;
}
}
});
主要问题:
hidden: function(){
if(localStorage.getItem("Admin") == 'Si'){
return false;
}else{
return true;
}
}
这不起作用(但如果我把隐藏:true或false它起作用)。
我尝试使用全局变量,我尝试在Ext.onReady中设置它,如果我在监听器的activeitemchange中使用控制台日志,则全局变量得到正确的值。
答案 0 :(得分:1)
hidden: localStorage.getItem("Admin") != 'Si'
)
你按照这种方式为hidden
属性分配了一个函数,而不是它的结果(这意味着如果你以某种方式调用hidden()
,你只能获得结果)。
答案 1 :(得分:1)
hidden
需要一个布尔值,你正在分配一个返回布尔值的函数。我会试着简单地说:
hidden: localStorage.getItem("Admin") !== 'Si'