如果在angular4中的<ng-template>中也是如此

时间:2017-08-08 10:50:45

标签: angular

如何在

中写下if else
<select #filterBy (change)="someMethod(filterBy.value)>
<ng-template [ngIf]="condition; else elsePart">
 <option>option1</option>
 <option>option2</option>
</ng-template>
<ng-template #elsePart>
 <option>option3</option>
 <option>option4</option>
</ng-template>
</select>

上面的代码给了我一个错误,我需要条件没有任何div或span标签。内部组件我使用元素引用

 @ViewChild('filterBy') filterBy: ElementRef;

错误:模板解析错误: 绑定表达式不能包含链式表达式

1 个答案:

答案 0 :(得分:1)

尝试使用:

<div *ngIf="condition; then truePart else elsePart"></div>
<ng-template #truePart>
  <select>
    <option>option1</option>
    <option>option2</option>
  </select>
</ng-template>
<ng-template #elsePart>
  <select>
    <option>option3</option>
    <option>option4</option>
  </select>
</ng-template>

原始回答:

  

我认为不可能,但这个链接会帮助你   https://coursetro.com/posts/code/52/Trying-out-the-New-Angular-4-If-Else-Conditionals

<div *ngIf="title; then logout else login"></div>

<ng-template #login>Please login to continue.</ng-template>
<ng-template #logout>Hi Gary, <button>Logout now</button>.</ng-template>