*ngЕсли не работает внутри модального окна

я использовал * ngif для кнопки, которая будет ложной и сработает, когда элемент выбран из ng-select, но он не работает

вот код кнопки

  <button *ngIf="switch" (click)="productSaveInCart()" type="button" class="col  matbuton " mat-button>
          ADD to Cart
        </button>

а вот и весь код Modal

  <ng-template #template>
  <div class="modal-header">
    <h4 class="modal-title pull-left">{{modaldata.i.i}}</h4>
    <button type="button" class="close btn pull-right" aria-label="Close" (click)="modalRef2.hide()">
      <span aria-hidden="true">&times;</span>
    </button>
  </div>
  <div class="modal-body">
    <mat-card style="margin: 0; ">
      <img height="400px" style="width: 110%" mat-card-image [src]="modaldata.i.t || '../../assets/images/noimage.png'">
      <mat-card-footer class="row">

        <h4>Extra prep. time: 1hr</h4>

        <ng-select [allowClear]="true" [items]="items" [disabled]="disabled" (data)="refreshValue($event)" (selected)="selected($event)"
          (removed)="removed($event)" (typed)="typed($event)" placeholder="No Date selcted">
        </ng-select>
        <div *ngFor="let item of list ">
          <h4 class="col">{{item.n}}</h4>
          <app-dropdowns #child class="col" [listdata]="item"></app-dropdowns>
        </div>
        <button *ngIf="switch" (click)="productSaveInCart()" type="button" class="col  matbuton " mat-button>
          ADD to Cart
        </button>
      </mat-card-footer>
    </mat-card>
  </div>

</ng-template>

person Hassan Amjad    schedule 09.11.2017    source источник
comment
Где машинописный текст, управляющий switch?   -  person Chris Sharp    schedule 10.11.2017


Ответы (1)


попробуй это:

(selected)="selected($event);switch=true"

вы можете использовать скрытый таким образом: он должен работать

[hidden]="switch"
person Fateh Mohamed    schedule 09.11.2017
comment
не могли бы вы объяснить, какая логика стоит за этим? - person Hassan Amjad; 10.11.2017
comment
в выбранном событии вы можете установить переключатель в значение true, и, таким образом, кнопка ДОБАВИТЬ В КОРЗИНУ будет видна - person Fateh Mohamed; 10.11.2017
comment
я знаю ... но почему он не становится видимым, если я изменю его в своем файле component.ts - person Hassan Amjad; 11.11.2017
comment
попробуйте объявить переключатель переменной глобально или используйте [скрытый], в этом случае он отлично работает. я обновлю ответ - person Fateh Mohamed; 11.11.2017