在Angular 4中有条件地设置属性

5

我想根据插值元素的内容设置元素的href属性。

<div>
    <ul class="contactnav">
        <li *ngFor="let contactItem of contactItems" >
            <a class="{{ contactItem.iconBootStrap }}"  href=" {{ contactItem.contactForm.indexOf('@') }} !== -1? 'mailto:{{ contactItem.contactForm }}' : '#'" data-rel="external">
                {{ contactItem.contactForm }}
            </a>           
        </li>
    </ul>
</div>

如果contactItem.contactForm包含@,则应该如何在<a>元素中定义条件来为值设置href,否则将其设置为“#”?


2
[href]="contactItem.contactForm.indexOf('@') !== -1? 'mailto: ' + contactItem.contactForm : '#'" - Günter Zöchbauer
2个回答

7
你所要求的是设置一个属性,而不是一个属性值。
你可以使用:
[href]="contactItem.contactForm.indexOf('@') !== -1 ? 'mailto: ' + contactItem.contactForm : '#'"

关于条件属性绑定,请参考如何在Angular 2中添加条件属性?


1

试试这个,

  <a class="{{ contactItem.iconBootStrap }}" [href]="contactItem.contactForm.indexOf('@') !== -1? 'mailto: ' + contactItem.contactForm : '#'" data-rel="external">
      {{ contactItem.contactForm }}
  </a>       

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接