Ext js 6 读取变量定义

Ext js 6 read variable define

我需要使用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;
  }
}

这是行不通的(但如果我输入 hidden: true or false 它会起作用)。

我尝试使用全局变量并尝试将其设置在 Ext.onReady 中,如果我在侦听器的 activeitemchange 中使用控制台日志,则全局变量获得了正确的值。

hidden: localStorage.getItem("Admin") != 'Si'

;)

您将函数分配给 hidden 属性 的方式,而不是它的结果(这意味着您只有在以某种方式调用 hidden() 时才会得到结果)。

hidden 需要一个布尔值,您正在分配一个 returns 布尔值的函数。我会简单地尝试:

 hidden: localStorage.getItem("Admin") !== 'Si'