首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将变量传递给ngif

如何将变量传递给ngif
EN

Stack Overflow用户
提问于 2018-05-13 06:51:18
回答 1查看 294关注 0票数 -2

header.component.html

代码语言:javascript
复制
      <ng-container *ngFor="let headerMenu of headerMenus">
    <li *ngIf="headerMenu.ngif">
      <a (click)="onClick(headerMenu.menu)" [class]="headerMenu.menu">
        <img [src]="headerMenu.src" [alt]="headerMenu.menu">
        <p>{{ headerMenu.menu | uppercase }}</p>
      </a>
    </li>
  </ng-container>

headerMenu.service.ts

代码语言:javascript
复制
  public headerMenus: HeaderMenu[] = [
// menu, srcURL, ngif
new HeaderMenu('service', 'assets/img/service.png', true),
new HeaderMenu('pricing', 'assets/img/pricing.png', true),
new HeaderMenu('source', 'assets/img/source.png', true),
new HeaderMenu('about', 'assets/img/about.png', true),
new HeaderMenu('user', 'assets/img/user.png', 'isLoggedIn'),
new HeaderMenu('login', 'assets/img/login.png', 'isLoggedIn'),

];

我试图将"isLoggedIn“变量作为headerMenu.ngif传递给ngif。我期望"isLoggedIn“作为一个变量工作,这样就可以根据登录状态打开和关闭它。

但它实际做的是将其识别为字符串"isLoggedIn“。

有没有办法把它作为一个变量来传递呢?

EN

回答 1

Stack Overflow用户

发布于 2018-06-09 06:04:04

您的问题是传递字符串文字'isLoggedIn‘。在声明新HeaderMenu的headerMenu.service.ts文件中,isLoggedIn是一个局部变量类变量,还是在哪里声明的?如果它是类成员,您可以通过以下方式访问它:

代码语言:javascript
复制
new HeaderMenu('login', 'assets/img/login.png', this.isLoggedIn)

或者如果它来自注入到您的类中的数据服务,如下所示:

代码语言:javascript
复制
constructor(public dataService:DataService){}

然后你可以像这样访问它:

代码语言:javascript
复制
new HeaderMenu('login', 'assets/img/login.png', dataService.isLoggedIn)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50311315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档