Ext js 6读取变量define

时间:2017-08-09 14:58:42

标签: javascript variables extjs hidden

我需要使用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中使用控制台日志,则全局变量得到正确的值。

2 个答案:

答案 0 :(得分:1)

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

你按照这种方式为hidden属性分配了一个函数,而不是它的结果(这意味着如果你以某种方式调用hidden(),你只能获得结果)。

答案 1 :(得分:1)

hidden需要一个布尔值,你正在分配一个返回布尔值的函数。我会试着简单地说:

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