代码之家  ›  专栏  ›  技术社区  ›  mehul

如何在ngif中使用本地存储值

  •  0
  • mehul  · 技术社区  · 8 年前

    如果..,如何在ng中使用本地存储变量。。

    这是我的密码:

    <ng-template [ngIf]="localStorage.getItem(Role)==''">
        <td>
            <button class="btn btn-primary editable-table-button btn-xs" (click)="updatetq(tq_list.cmslearntopicid
          ,tq_list.cmslearnchapterid,tq_list.topicname);">Edit</button>
        </td>
        <td>
            <button class="btn btn-danger editable-table-button btn-xs" (click)="deletet(tq_list.cmslearntopicid);">Delete</button>
        </td>
    </ng-template>
    

    3 回复  |  直到 8 年前
        1
  •  0
  •   Sajeetharan    8 年前

    首先,您的ngIf语法完全错误,其次您可以从localStorage检索值并绑定它

    改变

    <ng-template  *ngIf="objUserData.role===''">
    
        2
  •  0
  •   Krishna Rathore    8 年前

    您可以尝试使用此解决方案。

    <ng-template *ngIf="getRole(Role)==''">
        <td>
            <button class="btn btn-primary editable-table-button btn-xs" (click)="updatetq(tq_list.cmslearntopicid
          ,tq_list.cmslearnchapterid,tq_list.topicname);">Edit</button>
        </td>
        <td>
            <button class="btn btn-danger editable-table-button btn-xs" (click)="deletet(tq_list.cmslearntopicid);">Delete</button>
        </td>
    </ng-template>
    

    组件技术

    getRole(role){
       return localStorage.getItem(role) || ''
    }
    
        3
  •  0
  •   Ramesh Rajendran    8 年前

    你的错误说明得很清楚 Cannot read property 'getItem' of undefined localStorage 没有getItem()原型。所以你可以用下面的方法来解决这个问题

    • 您应该将本地存储分配到需要在HTML中使用的变量中
    • 或者使用全局方法通过传递来读取本地存储值 keys . ( 这是最好的方法 由于需要全局读取数据,我在下面进行了解释)

    组件法:

    readLocalStorageValue(key)
        {
          let value =   localStorage.getItem(key);
          if(value == undefined)
            {
              value =='';
            }
           return value;
        }
    

    您的HTML端应该如下所示

    *ngIf="readLocalStorageValue('Role')== ''"
    

    注:我不确定是否有问题 Role 角色

    推荐文章