以角度4有条件地设置属性

时间:2017-11-07 09:54:59

标签: html angular typescript

我想设置元素的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包含@,否则我应该如何在元素中定义条件以设置href值?否则为值'#'设置?

2 个答案:

答案 0 :(得分:4)

您要求的是设置属性,而不是属性。

您可以使用

[href]="contactItem.contactForm.indexOf('@') !== -1 ? 'mailto: ' + contactItem.contactForm : '#'"

对于条件属性绑定,请参阅How to add conditional attribute in Angular 2?

答案 1 :(得分:0)

试试这个,

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